2

デフォルトコンストラクタと言われているのは知っていますが、裏ではどのように動いているのでしょうか? プログラムがこのデフォルト コンストラクターでクラス A を含むライブラリーを使用しようとすると、「プロシージャー エントリ ポイントが見つかりませんでした」というエラーが発生します。プログラムは、クラス A のデフォルトのコンストラクターさえ使用しません。A の他のコンストラクターを使用します。ライブラリは正常にビルドされます。プログラムは正常にビルドされます。DLL は再構築されているため、それを確認したときに独自のメソッド呼び出しを認識している必要があります。私は実際には完全に迷っています。

class DLLEXPORT A
{
  A(int a = 0);  //default constructor and single parameter constructor
};
4

1 に答える 1

4

デフォルトのコンストラクターは、引数なしで呼び出し可能な任意のコンストラクターです。

あなたが言うとき、これはコンパイラが実際に呼び出すものとA x;同じです。A x(0);

同様に、コピー コンストラクターには、追加の既定の引数を指定できます。

于 2013-04-26T00:39:09.183 に答える