#include <iostream>
using namespace std;
class test{
public:
test() { cout<<"CTOR"<<endl; }
~test() { cout<<"DTOR"<<endl; }
};
int main()
{
test testObj();
cout<<"HERE"<<endl;
}
出力:
HERE
コンパイラは「test testObj();」という行をスキップし、残りを警告付きでコンパイルし、実行すると出力が生成されます。警告は、VC++ 2008 で「プロトタイプ関数が呼び出されませんでした (変数定義が意図されていましたか?)」です。エラーがスローされないのはなぜですか?