討論串[問題] cannot appear in a constant-expression
共 5 篇文章
內容預覽:
在進入主題之前,先知道這些. 1.unqualified lookup. 沒有::,一層一層往外搜尋block. 不過class處理內部的成員函數跟friend函數可以往後找. 2.ADL. 根據參數搜尋. 3.qualified lookup. 以::搜尋class或namespace或enum成
(還有429個字)
內容預覽:
L大你好. 針對你提的friend name injection. 我做了以下測試. 但. VC. http://rextester.com/ATEDB8089. GCC && CLANG. http://rextester.com/YFPO4237. VC vs GCC 行為不一樣. 一直在思考你
(還有696個字)
內容預覽:
看到constexpr,想稍微聊在metaprogramming的妙用. template的non-type參數不吃浮點數. (之前查好像之後某個版本會全面開放字面值,不太確定). 在數值計算上應用有限,而且語法艱澀. 而constexpr函數吃浮點數,語法容易. 大家對於constexpr的認識大
(還有732個字)
內容預覽:
先講 error. 這裡你的 RTYPE1 是個到了執行期才會知道是誰的數值. 但 template<int N> 這種模版必須要是編譯期就知道是多少的值. 編譯器才能根據這 N 值的多少來決定實現怎麼樣的模版. 錯誤訊息就是在告訴你那裡必須要是一個 compile-time constant, 「
(還有1062個字)
內容預覽:
開發平台(Platform): (Ex: Win10, Linux, ...). windows 10. 編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出). gcc 4.9.3. 額外使用到的函數庫(Library Used): (Ex: OpenGL,
(還有844個字)