宣言:
class ClassOne
{
ClassOne (ClassTwo* classTwo, ClassThree const& classThree);
}
テスト:
ClassTwo* classTwo;
ClassThree classThree;
EXPECT_NO_THROW (ClassOne (classTwo, classThree));
これはコンパイルして実行しますが、次のように変更します。
宣言:
class ClassOne
{
ClassOne (ClassThree const& classThree);
}
テスト:
ClassThree classThree;
EXPECT_NO_THROW (ClassOne (classThree));
これは、「利用可能な適切なデフォルト コンストラクターがありません」で失敗します。
次の行がコンパイルされます。
ClassOne classOne (classTwo, classThree); // First case
ClassOne classOne (classThree); // Second case
EXPECT_NO_THROW
1 つのパラメーターを持つコンストラクターを使用できない理由はありますか?