私はこれらの2つのクラスを持っています:
class Foo
{
public:
Foo() { std::cout << "in Foo constructor" << std::endl; }
};
class Bar
{
public:
Bar() {};
Bar(Foo foo);
private:
Foo m_foo;
};
Bar::Bar(Foo foo) :
m_foo(foo)
{
std::cout << "in Bar constructor with argument Foo" << std::endl;
}
int main() {
Bar bar(Foo()); // is something wrong here ?
return 0;
}
コンパイルして実行しましたが、画面には何も出力されBar bar(Foo())
ませんでした。型名の後の括弧は new と違いがありますか? で類似性を見てきました。 そして Foo f = Foo(); // 'Foo::Foo(Foo)' の呼び出しに一致する関数はありませんが、まだわかりません。