今までなんとなくで通してたこと。
class A { public: A( int a = 0 ){} void put(){} }; void main() { // A a(); // NG // a.put(); A b( 1 ); // OK b.put(); A c = A(); // OK c.put(); }
デフォルト引数のデフォルトコンストラクタでインスタンスを生成するときに、
A a();
と書くとエラーになる。
どうやら、関数のプロトタイプと認識しているよう。
なぜこれがダメなのだろうか??
また、デフォルト引数を JIS の索引で調べても載ってないけど、正式な名称はなんだろう??