C2059: синтаксическая ошибка: ';' - PullRequest
1 голос
/ 22 февраля 2012

Наличие действительно маленькой проблемы. Это программа-указатель, которую я пытался создать на практике, но я получаю ошибку в Visual C ++.

#include "stdafx.h"
#include "iostream"
#include "string"

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
    char *p = "School";
    char c;
    c = ++*p++;
    cout << c << ", " << p << endl;
    cout << p << ", " << ++*p-- << ", " << ++p*++;    //Error C2059: syntax error : ';'
    return 0;
}

Может быть, это очень глупая проблема, но я, кажется, не могу понять, на что я.

1 Ответ

4 голосов
/ 22 февраля 2012

Проблема, вероятно, заключается в следующем:

++p*++

в последнем cout.Похоже, вы переключили p и *.


Теперь, когда мы отложили это в сторону, использование нескольких выражений с побочными эффектами в одной строке - это решение проблемы.Что вы пытаетесь сделать с этим?

c = <i><b>++*p++</b></i>;

или с этим?

cout << p << ", " << <i><b>++<em>p--</b></i> << ", " << <i><b>++p</em>++</b></i>; //Error C2059: syntax error : ';'

Порядок оценки этих утверждений не определен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...