int i;とint(i);の違いについて - (void*)Pないと の続きです。 括弧ありとなしで同じかと思ったんですが、どうも渡す引数によって挙動が変わるようです。 とりあえず以下の例を。 int main () { int(); int(i); int(100); return 0; } これらは全て問題なくコンパイルが通ります。一体どういう風に解釈されているのかちょっとわかりません。 iの場合は変数宣言になり、引数無しや数値の場合は一体どういう風に解釈されているのかわかりません。 ということで一旦クラスにしてコンストラクタがどのように呼ばれているのか検証してみました。 #include <iostream> using namespace std; class CSample { public: CSample () { cout << "CSample()" << endl;