Я получаю синтаксическую ошибку, но не знаю почему - PullRequest
2 голосов
/ 07 ноября 2011

Я не уверен, почему я получаю ошибку 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;
};

Ответы [ 4 ]

10 голосов
/ 07 ноября 2011

Я подозреваю, что проблема здесь:

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

Это, вероятно, должно быть:

std::string::size_type c = 0;
7 голосов
/ 07 ноября 2011

Эта строка:

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

должно быть:

std::string::size_type c = 0;
3 голосов
/ 07 ноября 2011

Вы еще не инициализировали 'c'.

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

должно быть

std :: string :: size_type c = 0;

0 голосов
/ 22 августа 2012

проблема

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

когда должно быть

std::string::size_type c = 0;

это должен быть один равный оператор (оператор присваивания)

...