1. 程式人生 > >建構函式之無參建構函式

建構函式之無參建構函式

首先看一段程式碼:

#include<iostream>
using namespace std;

struct Foo
{
    Foo() {}
    Foo(int) {}
    void fun(){}
};


int main()
{
    Foo a(10);
    a.fun();
    Foo b();
    b.fun();
    return 0;
}

執行以後會報錯:
error: request for member ‘fun’ in ‘b’, which is of non-class type ‘Foo()’

原因:Foo b()只是一個函式的申明,返回值為Foo型別,而不是呼叫無參建構函式,正確宣告一個無參建構函式的方法是Foo b。