What is the difference between Object b(); and Object b;?

后端 未结 5 1792
执念已碎
执念已碎 2021-01-23 07:49

To be more explicit, I get a compile time error when I try accessing an instance variable when I create an object using (), but when I don\'t, the code compiles and runs as expe

5条回答
  •  -上瘾入骨i
    2021-01-23 08:36

    What is the difference between Object b(); and Object b;?

    The difference exists because C++ interprets that as a function being declared, instead of an object being created.

    Object b;
    

    This is the object b of class Object being created by means of the default constructor.

    Object b();
    

    This is the function b(), being declared (it will be defined elsewhere) to return an object of class Object, and no parameters.

    Hope this helps.

提交回复
热议问题