簡體   English   中英

如何在c ++中訪問非靜態數據成員

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM