#include <iostream>
class Y
{
public:
Y();
};
class X
{
public:
void foo() {}
friend Y::Y();
X()
{
Y::Y(); //Statement 1
}
};
Y::Y()
{
std::cout << "Hello";
}
int main()
{
X a;
Y::Y(); //Statenent 2
}
上記のプログラムは、HelloHello
Dev c++ およびコードパッドで出力を生成します。しかし、Code::Blocks で実行するとエラーが発生しますremove the reduntant Y::
ステートメント 1 と 2 を で置き換えるY();
と、プログラムは 3 つすべてで出力を生成します。なぜですか?