#c #syntax-error
#c #синтаксическая ошибка
Вопрос:
Я не уверен, почему я получаю ошибку C2143: синтаксическая ошибка: отсутствует ‘;’ перед ‘==’ Был бы очень признателен, если бы кто-нибудь объяснил мою ошибку.
#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;
};
Комментарии:
1. в будущем номер строки ошибки был бы наиболее полезен.
Ответ №1:
Я подозреваю, что проблема здесь:
std::string::size_type c == 0;
Вероятно, это должно быть:
std::string::size_type c = 0;
Ответ №2:
Эта строка:
std::string::size_type c == 0;
должно быть:
std::string::size_type c = 0;
Ответ №3:
Вы еще не инициализировали ‘c’.
std::string::size_type c == 0;
должно быть
std::string::size_type c = 0;
Комментарии:
1. True ( 1), но это не имеет отношения к тому, что переменная не была инициализирована; это просто недопустимая грамматическая конструкция.
Ответ №4:
проблема в том, что
std::string::size_type c == 0;
когда должно быть
std::string::size_type c = 0;
это должен быть один оператор равенства (оператор присваивания).