我敢肯定,以下是合法定義的函數,在一個聲明中聲明一個變量
int a, *b, c[5], d(char x);
這定義了一個整數a
,指針爲int b
,5個整數c
的數組,並聲明函數d
接受一個char並返回int。
在那裏提供函數的定義是否合法? (提供我們不在功能範圍內)
int a, f()
{
return 1;
}
int main()
{
cout << a << f(); //prints 01;
}
MSVC拒絕代碼。如果這樣做是正確的,我想知道標準中的哪個規則允許這樣的函數聲明,但不允許定義。
我想要做一個codegolf風格的挑戰,我需要儘量減少我的代碼在字符方面,我想知道這個技巧是否合法的C++。
您可以在那裏聲明它,但不提供函數體。 – 0x499602D2