我正在尝试使用以下方法访问系统温度: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'|
什么是有效用途?
答案 0 :(得分:1)
创建该类型的新对象,将成员设置为有意义的值,并通过该对象访问它。
core_temp_shared_data obj;
obj.fMultiplier = 0;
std::cout << obj.fMultiplier;
答案 1 :(得分:1)
您需要像在C中一样创建struct / class的实例。
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;