[英]How can a default constructor and a default argument constructor cause ambiguity in cpp?
默認構造函數和默認參數構造函數之間有什么區別? 一個例子會有所幫助
構造函數,所有的參數都默認也是該類的默認構造函數。
struct Foo
{
Foo() = default;
Foo(int = 0){};
};
int main() {
Foo f;
}
不會編譯,因為有兩個候選默認構造函數,因此重載解析將失敗。 (請注意, Foo f(1);
將編譯為重載決議不再模棱兩可。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.