簡體   English   中英

如何在結構內部的結構中設置/獲取值

[英]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實例不需要typedefstruct關鍵字,但它們的成員確實需要名稱。 而且,它是區分大小寫的語言,因此dtesdTes 嘗試:

#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.

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