Constructing Objects and Calling Member functions

前端 未结 2 676
北荒
北荒 2021-01-16 23:32

Here is my code

#include 

using namespace std;

class MyTestClass
{
    int MyTestIVar;

    public: 
        MyTestClass(void);
        int         


        
相关标签:
2条回答
  • 2021-01-16 23:54

    You have stumbled upon the most vexing parse.

    The line

    MyTestClass mTC();
    

    is parsed as a function prototype of a function named mTC which has no arguments and returns an instance of MyTestClass.

    0 讨论(0)
  • 2021-01-17 00:05
    MyTestClass mTC();    
    

    Does not declare an object of the MyTestClass class, as you think.

    It Actually, declares a function by the name of mTC which does not take any parameters and returns an MyTestClass object.

    This is known as the Most Vexing Parse in c++.

    0 讨论(0)
提交回复
热议问题