gpt4 book ai didi

C++ STL vector 初始化

转载 作者:行者123 更新时间:2023-11-28 02:20:16 25 4
gpt4 key购买 nike

我只是想知道如何解决这个问题。

我有一个

vector<char> vstr;

类程序中的定义。

然后在类构造函数中我想用一个数组初始化这个 vector :

char arrayOfChars[] = {'a', 'b', 'c'};

this.vstr = new vector<string>(arrayOfChars, arrayOfChars + sizeof(arrayOfChars)/sizeof(arrayOfChar[0]));

构建给了我一个错误:

error: request for member 'vstr' int 'this', which is of non-class type 'Program *const' .

你能给我一个简单的解决这个错误的方法吗?

最佳答案

我不是 C++ 专家,但我至少看到两个问题:

  1. 您正在尝试用指针初始化一个对象。不要使用 new关键词。
  2. 更重要的是这个指针指向字符串 vector 而不是字符,所以替换vector<string>vector<char> .

  3. 作为melak47在他的评论中说this.vstr也不正确,因为这是一个指针,因此应替换为 this->vstr或者简单地 vstr

完成所有三个更正后,它应该可以编译

关于C++ STL vector 初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32795600/

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