gpt4 book ai didi

c++ - 在结构中使用 C++ vector 有什么问题吗?

转载 作者:太空宇宙 更新时间:2023-11-03 10:36:05 25 4
gpt4 key购买 nike

好的,我要从 vb.net 转到 C++。我试图在结构中使用 vector ,但编译器为此对我大吼大叫。目前的说法有什么问题?

#include <vector>

struct FactorSet
{
vector<long long> UpperFactor(0);
vector<long long> LowerFactor(0);
};

输出错误(Visual Studio 2008):

错误 1 ​​错误 C2059:语法错误:“常量”

我敢猜测这是我对 vector 的真正含义缺乏了解。在我看来,它是一个对象,尽管我认为它是所谓的模板。其他像字符串这样的对象似乎没有问题。我还假设这也扩展到类定义,因为结构和类非常相似。

最佳答案

你想要:

#include <vector>

struct FactorSet
{
std::vector<long long> UpperFactor;
std::vector<long long> LowerFactor;
};

虽然你可能也有 long long 的问题,因为它目前不是 C++ 的一部分。

如果你真的想给 vector 一个大小,你需要通过结构构造函数来实现:

struct FactorSet
{
std::vector<long long> UpperFactor;
std::vector<long long> LowerFactor;

FactorSet() : UpperFactor(42), LowerFactor(42) {}
};

所以现在当你说:

FactorSet f;

f 中的 vector 的大小都是 42。

至于 vector 实际上是什么,它是一个非常像字符串的类,除了在 vector 的情况下你必须说出它包含什么类型的东西。所以

vector <char> s;

与(但不完全相同)非常相似:

string s;

关于c++ - 在结构中使用 C++ vector 有什么问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3224063/

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