eclipse :報錯 ‘XXXX‘ does not name a type的解決辦法
針對這個錯誤,我的具體報錯為’constexpr’ does not name a type,但是我改成const就不會出現這個錯誤了,為了找到根本的原因開始蒐集資料。
原因一:對於不同的C++版本的問題:
constexpr是C++11開始提出的關鍵字,其意義與14版本有一些區別。
C++11中的constexpr指定的函式返回值和引數必須要保證是字面值,而且必須有且只有一行return程式碼,這給函式的設計者帶來了更多的限制,比如通常只能通過return 三目運算子+遞迴來計算返回的字面值。
而C++14中只要保證返回值和引數是字面值就行了,函式體中可以加入更多的語句,方便了更靈活的計算。
const與constexpr 的區別是什麼呢?
const並不能代表“常量”,它僅僅是對變數的一個修飾,告訴編譯器這個變數只能被初始化,且不能被直接修改(實際上可以通過堆疊溢位等方式修改)。而這個變數的值,可以在執行時也可以在編譯時指定。
constexpr可以用來修飾變數、函式、建構函式。一旦以上任何元素被constexpr修飾,那麼等於說是告訴編譯器 “請大膽地將我看成編譯時就能得出常量值的表示式去優化我”。
下面具體分析一下發現可能與C++的版本有關係,後面檢視了eclipse的屬性配置 發現確實需要更改配置:
具體如下:
主要還是因為下面的C++的版本沒有配置導致的原因,按照下面的配置完成即可,在後面新增上下面的配置std=c++11:
現在在執行就不會報錯誤了。
原因二:標頭檔案重複呼叫的情況
但是在C++編譯時,也有可能存在這種錯誤的另一種原因可能性,那就是重複呼叫的情況:
具體參考
前置宣告與C++標頭檔案互相包含導致的error: ‘xxx’ does not name a type問題(感謝博主分享)
相關文章
- Qt 報錯 “類名”does not name a typeQT
- ‘map’ does not name a type
- error: 'cout' does not name a type|Error
- error: ‘xxx’ does not name a typeError
- pod install 和 rvm install ruby-xxxx報錯解決辦法
- QT中error: xxx does not name a type xxx錯誤QTError
- does not name a type 的可能性
- 關於Chrome報錯 ERR_NAME_NOT_RESOLVED 解決辦法Chrome
- Eclipse除錯找不到源的解決辦法Eclipse除錯
- error: ‘變數名‘ does not name a type|Error變數
- git報錯400的解決辦法Git
- cnpm link 報錯解決辦法NPM
- 解決eclipse的maven依賴報錯EclipseMaven
- ImportError: cannot import name ‘imresize‘解決辦法ImportError
- Eclipse 快捷鍵失效解決辦法整理Eclipse
- Navicat 遠端連線docker容器中的mysql 報錯1251 - Client does not support authentication protocol 解決辦法DockerMySqlclientProtocol
- Jsp Unescaped xml character報錯的解決辦法JSXML
- Access restriction: The type 'Resource' is not API 解決辦法RESTAPI
- Eclipse裡Tomcat報錯:Document base ……does not exist or is not a readable directory(圖文詳解)...EclipseTomcat
- msfconsole,OpenSSL::PKey::PKeyError報錯解決辦法Error
- Mybatis批量更新SQL報錯☞解決辦法MyBatisSQL
- PostgreSQL cache lookup failed for type XXXX 錯誤SQLAI
- 解決 TypeError: Type aliases cannot be used with isinstance(). 辦法Error
- 解決tensorboard報錯ValueError: Duplicate plugins for name projectorORBErrorPluginProject
- npm報錯"A complete log of this run can be found in:"的解決辦法NPM
- 關於npm install安裝報錯的解決辦法NPM
- 報錯:net::err_unknown_url_scheme的解決辦法Scheme
- Docker Hello World容器執行報錯的解決辦法Docker
- eclipse: workspace出錯導致無法啟用的解決Eclipse
- 報錯xxxx of undefinedUndefined
- Laravel Mix - 執行 NPM install 報錯解決辦法LaravelNPM
- MySQL5.7 group by新特性報錯1055的解決辦法MySql
- Homestead 在 Windows 下軟連結報錯的解決辦法Windows
- Maven下載jar包慢,pom報錯的解決辦法MavenJAR
- idea啟用後提示We could not validate your license xxxx解決辦法Idea
- vue報錯:the template root disallows ‘v-for‘ directives解決辦法Vue
- Flutter url_launcher 報錯 canLaunch will return false(Android)的解決辦法FlutterFalseAndroid
- Ubuntu 報錯:無法獲得鎖 /var/lib/dpkg/lock解決辦法Ubuntu