Visual C++ では、次の関数宣言が与えられます。
int main();
関数本体で、関数の(戻り)型と同じ型を持つ変数を定義したいのですが、intもmainも使いたくないので、次のようにしてみました:
int main() {
decltype(__identifier(__FUNCTION__)) x;
}
__identifier は文字列リテラルを受け入れないため、これは機能しません。文字列リテラルを識別子にする方法を使用できますか? または、戻り値の型 (int) や関数名 (main) を使用せずに、関数本体内で int 型の x を定義する方法はありますか?