これは、コンパイルされるプログラムのリンク方法によるものです。main基本的にスコープの関係で見つかりません。
C ++標準では、「3.6-開始と終了[basic.start]」、特に「3.6.1-メイン関数[basic.start.main]」で静的メインを使用できない理由が詳しく説明されています。それが言うところ
すべての実装では、次のmainの定義の両方を許可する必要があります。
int main() { /* ... */ }
と
int main(int argc, char* argv[]) { /* ... */ }
標準のPDFはこちらです。PDFの69ページにあります。
そのようなコードを機能させたい場合は、次のようなことを行う必要があります。
class Application
{
public:
static int main(int argc, char** argv)
{
std::cin.get();
}
};
int main(int argc, char** argv)
{
return Application::main(argc, argv);
}