错误:在' int'之前预期的primary-expression;

时间:2016-10-07 03:48:20

标签: c++

我是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'

有谁能告诉我发生了什么?非常感谢你提前。

2 个答案:

答案 0 :(得分:2)

int i是声明的语法。它可能不会出现在表达式中,该表达式应遵循cin >>

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

int i;
cin >> i;

char c

相同
chat c;
cin >> c;

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

答案 1 :(得分:0)

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

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