我一直收到语法错误,但我不确定原因

时间:2011-11-07 19:42:49

标签: c++ syntax-error

我不知道为什么我会收到错误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;
};

4 个答案:

答案 0 :(得分:10)

我怀疑问题在这里:

std::string::size_type c == 0;

应该是:

std::string::size_type c = 0;

答案 1 :(得分:7)

这一行:

std::string::size_type c == 0;

应该是:

std::string::size_type c = 0;

答案 2 :(得分:3)

你尚未初始化'c'。

std :: string :: size_type c == 0;

应该是

std :: string :: size_type c = 0;

答案 3 :(得分:0)

问题是

std::string::size_type c == 0; 

什么时候应该

std::string::size_type c = 0;

它需要是单个相等的运算符(赋值运算符)