首頁 > 後端開發 > C++ > 為什麼 C 語言中會出現「error: request for member '...' in '...' which is of non-class type」以及如何修復?

為什麼 C 語言中會出現「error: request for member '...' in '...' which is of non-class type」以及如何修復?

Mary-Kate Olsen
發布: 2024-12-05 06:22:11
原創
823 人瀏覽過

Why Does

解決「錯誤:請求'...' 中的非類型成員'...'」

當在C 中遇到錯誤訊息「error: request for member '...' in '...' which is of non-class type,」時,通常表示物件有問題實例化和類別成員存取。為了解決這個問題,讓我們深入研究所提供的程式碼和錯誤的根本原因。

程式碼定義了一個有兩個建構子的 Foo 類別:一個不帶參數,一個帶一個參數。目的是使用兩個建構函數來建立 Foo 的物件。但是,嘗試使用無參構造函數建立物件時會發生錯誤。

經過檢查,問題出在以下行:

編譯器將此行解釋為名稱為「foo2」且傳回類型為「Foo」的函數宣告。但是,預期目的是使用預設建構函數宣告並實例化 Foo 類別的物件。要解決此問題,應修改語法如下:

透過簡單地刪除括號,編譯器現在可以正確地將這一行解釋為物件宣告和實例化,使用預設建構函式來初始化foo2 對象.

此修改允許程式碼按預期編譯和執行。現在可以使用兩個建構函式建立對象,並且可以毫無問題地存取成員函式。因此,請記住在物件宣告和實例化時使用正確的語法,以避免在 C 程式設計中出現此類錯誤。

以上是為什麼 C 語言中會出現「error: request for member '...' in '...' which is of non-class type」以及如何修復?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板