....
void foo()
{}
...
foo(); //why we can not call the function here?
int main(int argc, char** argv)
{}
これができないことはわかっています。コンパイラ エラーが発生します。コンパイラ理論に関連している可能性があると思いますが、これの性質を教えてくれる人はいますか、それとも単なる恣意的なルールですか?
次のコードをコンパイルしようとすると:
#include<iostream>
using namespace std;
void foo()
{
cout<<"test"<<endl;
}
foo();
int main() {}
このエラー メッセージが表示されます。
test.cpp:10:6: エラー: ';' の前にコンストラクタ、デストラクタ、または型変換が必要です トークン
なぜこのエラーが発生するのですか?