আমার দুটি কনস্ট্রাক্টর সহ একটি ক্লাস রয়েছে, এটি একটি যুক্তি নেয় না এবং একটি যুক্তি নেয় takes
কনট্রাক্টর ব্যবহার করে অবজেক্ট তৈরি করা যা একটি আর্গুমেন্ট নেয় প্রত্যাশার সাথে কাজ করে। তবে, যদি আমি কনস্ট্রাক্টর ব্যবহার করে কোনও আর্গুমেন্ট না নিয়ে এমন বস্তু তৈরি করি তবে আমি একটি ত্রুটি পেয়েছি।
উদাহরণস্বরূপ, আমি যদি এই কোডটি সংকলন করি (জি ++ ৪.০.১ ব্যবহার করে) ...
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;
}
... আমি নিম্নলিখিত ত্রুটি পেয়েছি:
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 ()()’
এটি কেন এবং আমি কীভাবে এটি কাজ করব?