我正在MSVC 2012中编译以下内容
#define DOUB (i) ((i)+(i))
int _tmain(int argc, _TCHAR* argv[])
{
for (int i(0); i <= 10; i++)
std::cout << "twice" << i << "is" << DOUB(i) << '\n'; // 22
system("PAUSE");
return 0;
}
并在第22行得到以下错误:错误C2064:term不求值为带有1个参数的函数
有人可以帮忙吗?
最佳答案
预处理器宏定义关心空格:不要在宏名称和类似函数的宏的括号之间保留空格:
#define DOUB(i) ((i)+(i))
// ^^^^^^^