wxComboBox中的vector <string> </string>

时间:2014-05-30 07:06:40

标签: c++ wxwidgets

我希望我的问题不是本地化......但我认为其他一些人会对此或类似问题感到沮丧。

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

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

  1. 向量的变量名在wxWidgets
  2. 中是未知的
  3. 通过复制,wxString会将我的字符串转换为wchar_t(我知道,wchar_t和wxString类似......)
  4. 我将添加一些我的代码,以便您更好地了解问题:

    第一个问题

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

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

    第二个问题

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

    - &GT; 错误:未在此范围内声明'Lv_ports'

    我正在使用: IDE:CodeLite 5.1; wxW 2.9.4; @ Win8.1

1 个答案:

答案 0 :(得分:3)

第一个问题

而不是使用:

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

  

使用_T宏有条件地将文字字符串编码为可移植到Unicode。

不能在_T(v_ports[i])等表达式中使用。

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