0
class Main
{
  Struct BranchSub
  {
    Sub()
    {
      subName[0] = '\0';
    }
    char subName[20];
  };

  struct MainSub
  {
  Sub sub[20];
  };
};

指定されたテキストと一致しsubNameたときにポインタを返すメソッドが必要です。subNameたとえば、次のようなものです。

MainSub test;
if(strcmp(test.BranchSub[5].subName, "Hello") == 0);//return pointer to `test.Branchsub[5].subName`

出来ますか??または、望ましい結果を達成する他の方法はありますか?

4

1 に答える 1

1

はい、ご利用いただけますtest.BranchSub[5].subName

質問の 2 番目の部分では、次を使用する必要がありますstd::string

class Main
{
  struct BranchSub
  {
    std::string subName;
  };

  struct MainSub
  {
    BranchSub sub[20];
  };
};

その後

MainSub test;
if(test.sub[5].subName == "Hello")

より明確です。

std::vector<BranchSub>の代わりに使用することもできますBranchSub sub[20]

于 2013-03-21T15:26:01.447 に答える