[英]C++ standard definition of conflicting declarations
標准在哪里定義了沖突聲明是什么?
例如,如果我在命名空間范圍內具有以下聲明:
extern const int a;
extern int a;
這將是沖突聲明的一個例子。
根據[dcl.type] , cv-qualifier const
是類型的一部分,因此const int x;
和int x;
構成變量x
不同聲明。
然后我們到達[over] / 1 ,其中指出:
如果為同一范圍內的單個名稱指定了兩個或更多不同的聲明,則稱該名稱為重載。 通過擴展,在同一范圍內聲明相同名稱但具有不同類型的兩個聲明稱為重載聲明。 只有函數和函數模板聲明可以重載; 變量和類型聲明不能重載。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.