![](/img/trans.png)
[英]Why C++ static data members are needed to define but non-static data members do not?
[英]How to access non-static data members in c++
我正在嘗試使用以下方法訪問我的系統溫度: http : //www.alcpu.com/CoreTemp/developers.html
如您所見,數據結構如下:
typedef struct core_temp_shared_data
{
unsigned int uiLoad[256];
unsigned int uiTjMax[128];
unsigned int uiCoreCnt;
unsigned int uiCPUCnt;
float fTemp[256];
float fVID;
float fCPUSpeed;
float fFSBSpeed;
float fMultiplier;
char sCPUName[100];
unsigned char ucFahrenheit;
unsigned char ucDeltaToTjMax;
}CORE_TEMP_SHARED_DATA,*PCORE_TEMP_SHARED_DATA,**PPCORE_TEMP_SHARED_DATA;
但是,我是c ++編程的新手,並且不了解如何訪問其中一個數據。 我試過這個:
cout << core_temp_shared_data::fTemp;
但它只是吐出這個錯誤代碼:
error: invalid use of non-static data member 'core_temp_shared_data::fTemp'|
什么是有效用途?
創建該類型的新對象,將成員設置為有意義的值,並通過該對象訪問它。
core_temp_shared_data obj;
obj.fMultiplier = 0;
std::cout << obj.fMultiplier;
您需要像在C中一樣創建struct /類的實例。
CORE_TEMP_SHARED_DATA shared_data;
shared_data.fVID = 0.5f;
或者通過動態分配:
PCORE_TEMP_SHARED_DATA shared_data = new CORE_TEMP_SHARED_DATA;
shared_data->fVID = 0.5f;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.