如何访问我的结构来获取/设置其中的值? 这是我的示例代码
#include <iostream>
using namespace std;
typedef struct t_TES
{
double dTes;
}TES;
struct SAMPLE1
{
struct TES;
};
int main()
{
SAMPLE1 sss;
//How can i get/set dtes value??
sss.TES.dtes=10;
cout<<sss.TES.dtes<<endl;
return 0;
}
是否可以像这样分配值&#34; sss.TES.dtes = 10&#34 ;; 并通过调用这个&#34; sss.TES.dtes&#34 ;;来获得价值。 我已经尝试将两者结合起来 - &gt;或::运算符来获取/设置值,但总是遇到编译错误。
请原谅我的英语不好,谢谢..
答案 0 :(得分:3)
C ++中的结构不需要typedef
或struct
关键字,但它们确实需要其成员的名称。此外,它是一种区分大小写的语言,因此dtes
与dTes
不同。尝试:
#include <iostream>
using namespace std;
struct TES
{
double dTes;
};
struct SAMPLE1
{
TES tes;
};
int main()
{
SAMPLE1 sss;
sss.tes.dTes = 10;
cout << sss.tes.dTes << endl;
return 0;
}
答案 1 :(得分:1)
SAMPLE1
结构存在两个问题:第一个是当struct TES
实际上不是结构时使用TES
(它是别名的一个结构)。第二个问题是你必须在SAMPLE1
结构中声明一个成员:
struct SAMPLE1
{
t_TES tes;
};
然后你只需嵌套使用点运算符.
(就像你现在一样):
SAMPLE1 sss;
sss.tes.dTes = 0.0;
答案 2 :(得分:1)
你做不到。使用struct TES;
,您不会声明成员变量。尝试例如TES member_name
,然后您可以在主版中使用sss.member_name
访问它。此外,您应该尝试使用更具描述性的变量名称; - )