错误:"int"之前的预期主表达式
error: expected primary-expression before 'int'
我是一个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;
}
相关文章:
- 不能在初始值设定项列表中将非常量表达式从类型 'int' 缩小到'unsigned long long'
- 在函数中使用 const int size 参数创建数组会在 Visual Studio 中抛出错误 C++:表达式的计
- 数组类型 int[n][n] 不可赋值,因为表达式必须具有常量值
- 错误:'int'之前的预期主表达式以及代码中的许多类似错误
- QT连接:使用lambda表达式重置通过了int变量(怪异)
- 在另一个成员函数中调用成员函数时'int'之前的预期主表达式
- 为什么 C 和 C++ 允许表达式 (int) + 4*5
- 缩小从"int"(常量表达式)到"无符号int"的转换 - MSVC vs gc
- 在算术表达式中,双精度会隐式转换为无符号 int 吗?
- C++常量 int 在常量表达式中不可用
- 正则表达式:在字符串和冒号之后提取 int
- 错误:"SIZE"在使用模板<类 T、int MAX_SIZE >时无法出现在常量表达式中
- C++:从类型"int*"的表达式初始化类型"const int*&"的引用无效
- 在 int 数组的情况下,新表达式可以"overflow"吗?
- "const int <variable>" 不能出现在常量表达式中
- C++错误 - 'char' 和'int'之前的预期主表达式
- dev C++ "int" 之前的预期主要表达式
- 模板int参数来自C++11中的常量表达式
- 表达式*(int*)a是什么意思?
- 表达式int a {10};做的