私は、一般的な意見だけでなく、標準の具体的な一節を挙げて答えに興味があります。この正当なC++コードですか?
template <class T> struct wrapped
{
wrapped(const T&) {}
};
template <class T> wrapped<T> wrappit(const T& x)
{
return wrapped<T>(x);
}
template <class T> int run_function(const T& x, bool wrapped)
{
if (wrapped) {
return 0;
} else {
return run_function(wrappit(x), true) + 1;
}
}
int main()
{
const int result = run_function(0.5, false);
return result;
}
これは何をする予定ですか?それがすることは、 'main'を回帰的に返すことだけです。 –
あなたはそれが違法だと思いますC++?不定期のインスタンス化の深さは、愚かなコンパイラを殺す可能性が最も高いという事実にもかかわらず?つまり、 "int main(){}"は合法なC++コードですか?それについて私は標準の一節を見つけてください。 –
"legal"という単語の定義についての質問ですか?私はコンパイラがTを 'wrapped
Qwertie