警告訊息,例如:
missing 'typename' prior to dependent type name ... [-Wtypename-missing]
和
template argument for template type parameter must be a type; omitted 'typename' is a Microsoft extension [-Wmicrosoft-template]
如果我理解正確 c 20 放寬了對typename. 這是否意味著這些警告已經過時了?typename還是應該在有警告時添加(煩人的) ?(我正在使用 Visual Studio / Clang12 / std=C 20。)
uj5u.com熱心網友回復:
不,警告很有用。修復你的代碼。
C 20稍微放寬了一些typename規則。但這與此警告無關。
MSVC 認為typename(幾乎?)完全是可選的,并且在這方面是不合格的。為了與 MSVC 兼容,Clang 顯然也可以這樣做。警告說您的代碼不符合標準,并且可能無法在其他編譯器上運行(尤其是在 GCC 上)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/419341.html
標籤:
