Я не уверен, почему я получаю ошибку C2143: синтаксическая ошибка: отсутствует ';'before '==' Буду очень признателен, если кто-нибудь объяснит мою ошибку.
#include <iostream> #include <string> #include <cstdlib> int main() { std::cout << "What is your name? "; std::string name; std::cin >> name; const std::string greeting = "Hello " + name + " !"; // const int pad = 1; const int rows = pad * 2 + 3; std::cout << std::endl; // int r = 0; while (r != rows) { std::cout << std::endl; ++r; } // std::string::size_type cols = greeting.size() + pad * 2 + 2; std::string::size_type c == 0; while (c != cols) { if (r == 0 || r == rows -1 || c == 0 || c == cols -1) { } else { } } std::system("pause"); return 0; };
Я подозреваю, что проблема здесь:
std::string::size_type c == 0;
Это, вероятно, должно быть:
std::string::size_type c = 0;
Эта строка:
должно быть:
Вы еще не инициализировали 'c'.
std :: string :: size_type c == 0;
должно быть
std :: string :: size_type c = 0;
проблема
когда должно быть
это должен быть один равный оператор (оператор присваивания)