【发布时间】:2015-04-17 14:38:12
【问题描述】:
我很确定以下是合法的
int a, *b, c[5], d(char x);
这定义了一个整数a,一个指向整数b的指针,一个5整数数组c,并声明了一个函数d接受一个字符并返回一个整数。
在那里也提供函数的定义是否合法? (假设我们不在函数范围内)
int a, f()
{
return 1;
}
int main()
{
cout << a << f(); //prints 01;
}
MSVC 拒绝该代码。如果这样做是正确的,我想知道标准中的哪个规则允许这样的函数声明而不是定义。
我正在尝试做一个代码高尔夫风格的挑战,我需要在字符方面最小化我的代码,我想知道这个技巧是否是合法的 C++。
【问题讨论】:
-
你可以在那里声明它但不提供函数体。
标签: c++ syntax language-lawyer