[英]How to set/get value in struct inside a struct
我如何訪問我的結構以在其中獲取/設置值? 這是我的示例代碼
#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;
}
是否可以像這樣“ sss.TES.dtes = 10”分配值; 並通過調用此“ sss.TES.dtes”獲得該值; 我已經嘗試結合使用->或::操作符來獲取/設置值,但始終會遇到編譯錯誤。
請原諒我的英語不好,謝謝..
C ++中的struct
實例不需要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;
}
SAMPLE1
結構存在兩個問題:第一個問題是,當TES
實際上不是結構(它是結構的別名 )時,您使用struct TES
。 第二個問題是,您實際上必須在SAMPLE1
結構中聲明一個成員:
struct SAMPLE1
{
t_TES tes;
};
然后,您只需嵌套使用點運算符即可.
(就像您現在所做的那樣):
SAMPLE1 sss;
sss.tes.dTes = 0.0;
你不能 使用struct TES;
,您未在聲明成員變量。 嘗試使用例如TES member_name
,然后可以在主sss.member_name
中使用sss.member_name
進行訪問。 另外,您應該嘗試使用更具描述性的變量名稱;-)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.