首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在c++中访问非静态数据成员

如何在c++中访问非静态数据成员
EN

Stack Overflow用户
提问于 2014-01-11 21:38:57
回答 2查看 69关注 0票数 0

我正在尝试使用以下命令访问我的系统温度:http://www.alcpu.com/CoreTemp/developers.html

如您所见,数据结构是这样的:

代码语言:javascript
复制
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++编程的新手,不知道如何访问这些东西中的数据。我已经尝试过了:

代码语言:javascript
复制
cout << core_temp_shared_data::fTemp;

但它只显示出以下错误代码:

代码语言:javascript
复制
error: invalid use of non-static data member 'core_temp_shared_data::fTemp'|

什么是有效的使用?

EN

回答 2

Stack Overflow用户

发布于 2014-01-11 21:40:28

创建该类型的新对象,将成员设置为有意义的值,并通过该对象访问它。

代码语言:javascript
复制
core_temp_shared_data obj;
obj.fMultiplier = 0;
std::cout << obj.fMultiplier;
票数 1
EN

Stack Overflow用户

发布于 2014-01-11 21:41:06

您需要创建结构/类的实例,如C中所示。

代码语言:javascript
复制
CORE_TEMP_SHARED_DATA shared_data;
shared_data.fVID = 0.5f;

或者通过动态分配:

代码语言:javascript
复制
PCORE_TEMP_SHARED_DATA shared_data = new CORE_TEMP_SHARED_DATA;
shared_data->fVID = 0.5f;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21062923

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档