gpt4 book ai didi

C++ vector - 访问在结构中声明的结构类型 vector 的大小

转载 作者:行者123 更新时间:2023-11-30 04:23:11 25 4
gpt4 key购买 nike

我的声明如下

#include <vector>
#include <iostream>
using namespace std;

typedef struct _ListofHops_T
{
int macAddrLtr;
int ttlValue;
}ListofHops;


struct ReadActivateLinkTrace
{
typedef std::vector < ListofHops *> ListofHopsList;
bool operationState;
};


int main()
{
ReadActivateLinkTrace readLinkTrace;

for (size_t listItr=0; listItr < readLinkTrace.ListofHopsList.size(); listItr++)
{
.....
}
}

我正在尝试在结构 ReadActivateLinkTrace 中声明跃点列表的 vector struct

  1. 以上声明是否有效。
  2. 编译时出现以下错误

vector.cpp:23: error: invalid use of ReadActivateLinkTrace::ListofHopsList

我是 vector 的新手。我如何访问/迭代结构中定义的结构 vector ?

最佳答案

声明是有效的,但它并不像你想的那样。 ListofHopsList 是一种类型(提示:typedef),而不是变量。您可能正在寻找

struct ReadActivateLinkTrace
{
std::vector < ListofHops *> ListofHopsList;
bool operationState;
};

问题不在于 vector 本身,而在于您没有声明一个成员,而是定义了一个新类型。

此外,您使用指针 vector 而不是对象 vector 是否有任何原因?

关于C++ vector - 访问在结构中声明的结构类型 vector 的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13487477/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com