C2059: 语法 e r r o r : ';'

C2059: syntax e r r o r : ';'

本文关键字:C2059 语法      更新时间:2023-10-16

有一个非常小的问题。这是我试图为练习而制作的指针程序,但是我在视觉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;
}

也许这是一个非常愚蠢的问题,但我似乎无法将手指放在上面。

问题可能是这样的:

++p*++

在最后cout. 看起来您切换了p*.


现在我们已经把它放在一边,在同一行中使用多个具有副作用的表达式是麻烦的秘诀。 你想用这个做什么?

c = ++*p++;

还是这个?

cout << p << ", " << ++p-- << ", " << ++p++; //Error C2059: syntax error : ';'

评估这些语句的顺序是不确定的。