有以下代碼:SomeClass的的使用一個參數匿名對象不能被聲明
class SomeClass
{
public:
SomeClass(){}
SomeClass(SomeClass& b){}
SomeClass(SomeClass&b, SomeClass& c){}
};
int main()
{
SomeClass a;
SomeClass(); // works all right
//SomeClass(a); error: redeclaration of ‘SomeClass a’
SomeClass(a, a); // works all right
return 0;
}
匿名對象,具有0和2參數可以聲明,但是它不能與只有1參數進行聲明。我認爲寫
SomeClass(a);
相同
SomeClass a;
如何創建匿名對象有一個說法?
@BoBTFish:不。他基本上是通過功能強化語法創建一個臨時對象。你不直接調用構造函數;甚至沒有你發佈的代碼實際上這樣做 – 2012-03-20 16:21:39
可能重複[這個AnonymousClass(變量)聲明實際上發生了什麼?](http://stackoverflow.com/questions/6341951/whats-actually-going-on-in-這個匿名類變量聲明) – Nawaz 2012-03-20 16:31:58