ブログ@kaorun55

HoloLensやKinectなどのDepthセンサーを中心に書いています。

デフォルト引数とコンストラクタ

今までなんとなくで通してたこと。

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 の索引で調べても載ってないけど、正式な名称はなんだろう??