gpt4 book ai didi

c++ - wxComboBox 中的 vector <字符串>

转载 作者:行者123 更新时间:2023-11-28 00:28:26 24 4
gpt4 key购买 nike

我希望我的问题不是本地化的......但我认为其他人会遇到这个或类似的问题。

我想创建一个 vector ,其中包含我系统中的所有可用端口(这适用于控制台应用程序)。之后我想复制 wxString-Array 中的 vector 元素以将它们放入 wxComboBox 中。

所以,在我的特殊情况下,我得到了两个错误:

  1. vector 的变量名在 wxWidgets 中是未知的
  2. 通过复制,wxString 会将我的字符串转换为 wchar_t(我知道,wchar_t 和 wxString 很相似...)

我将添加一些我的代码,以便您更好地了解问题:

第一个问题

std::vector<std::string> v_ports;
v_ports.push_back = "Com1";
v_ports.push_back = "Com4";

--> 错误:'v_ports' 没有命名类型(提示:这是一个例子,在 hole 程序中我将使用一个函数来获取字符串)

第二个问题

wxString sect_opt[v_ports.size()];

for(int i = 0; i < v_ports.size(); i++)
sect_opt[i] = _T(v_ports[i]);

--> 错误:“Lv_ports”未在此范围内声明

我正在使用:集成开发环境:CodeLite 5.1; wxW 2.9.4; @Win8.1

最佳答案

第一个问题

而不是使用:

v_ports.push_back = "Com1";
v_ports.push_back = "Com4";

你应该使用:

v_ports.push_back("Com1");
v_ports.push_back("Com4");

因为std::vector<T>::push_back是一个函数。

第二个问题

_Tis supposed to用于文字:

Use the _T macro to conditionally code literal strings to be portable to Unicode.

不能用在像_T(v_ports[i])这样的表达式中.

要将字符串转换为 unicode,请参阅:

关于c++ - wxComboBox 中的 vector <字符串>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23948953/

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