İki yapıcılı bir sınıfım var, biri argüman almıyor, diğeri ise bir argüman alıyor.
Bir argüman alan yapıcıyı kullanarak nesne oluşturmak beklendiği gibi çalışır. Ancak, hiçbir bağımsız değişken almayan yapıcı kullanarak nesneler oluşturursam, bir hata alıyorum.
Örneğin, bu kodu derlersem (g ++ 4.0.1 kullanarak) ...
class Foo
{
public:
Foo() {};
Foo(int a) {};
void bar() {};
};
int main()
{
// this works...
Foo foo1(1);
foo1.bar();
// this does not...
Foo foo2();
foo2.bar();
return 0;
}
... aşağıdaki hatayı alıyorum:
nonclass.cpp: In function ‘int main(int, const char**)’:
nonclass.cpp:17: error: request for member ‘bar’ in ‘foo2’, which is of non-class type ‘Foo ()()’
Bu neden ve nasıl çalıştırabilirim?