說我有下面的類:C++函數的參數創建類
class A
{
public:
A() {
}
A(int a):_a(a){
}
int _a;
};
而下面的功能:
void someFunc (A a)
{
cout << a._a;
}
所以在程序中以下行正常工作:
someFunc (5); // Calls A(int a) Constructor.
但以下不:
someFunc(); //Compile error
可以預料到,如果它可以在獲取整數時構建A,那麼爲什麼不使用默認構造函數也可以構建一個?
嘗試' void someFunc(A a = A())'如果你真的想要這樣的行爲。 – chris