错误:"int"之前的预期主表达式

error: expected primary-expression before 'int'

本文关键字:表达式 int 错误      更新时间:2023-10-16

我是一个c++初学者。我正在看一本关于c++的书。我用g++编译了下面的程序,这是书中的一个例子:

/*modified fig1-1.cpp*/
#include <iostream>
using namespace std;
int main()
{
    cout << "n Enter an integer";
    cin >> (int i);
    cout << "n Enter a character";
    cin >> (char c);
    return 0;
}

然后我得到以下错误消息:

fig1-2.cpp: In function 'int main()':
fig1-2.cpp:7:10: error: expected primary-expression before 'int'
  cin >> (int i);
          ^
fig1-2.cpp:7:10: error: expected ')' before 'int'
fig1-2.cpp:9:10: error: expected primary-expression before 'char'
  cin >> (char c);
          ^
fig1-2.cpp:9:10: error: expected ')' before 'char'
谁能告诉我发生了什么事?非常感谢。

int i是声明的语法。它不能出现在表达式中,表达式应该跟在cin >>后面。

首先声明变量,然后使用它:

int i;
cin >> i;

char c:

chat c;
cin >> c;

我非常怀疑这是一本教c++的书中的例子。这是明显错误的语法。如果它真的是在书中作为一个所谓的工作示例(即不解释错误),那么你应该得到一个不同的书。

你不能像现在这样使用,你必须先声明I或c,因为我已经这样做了

int main()
{
int i;
char c;
cout << "n Enter an integer";
cin >> (i);
cout << "n Enter a character";
cin >> (c);
return 0;   
}