C++ c++;无法将标识符解析为\u字符串

C++ c++;无法将标识符解析为\u字符串,c++,netbeans,C++,Netbeans,你好 我到处寻找,但没有解决办法 IDE:NetBeans IDE 8.2 MinGW:使用“最新”的MinGW编译器 原版: #include <string> struct User_VPN_Info{ std::string name, expire; int DaysLeft; User_VPN_Info(){} User_VPN_Info(std::string _name, std::string _expire, int _Days

你好

我到处寻找,但没有解决办法

IDE:NetBeans IDE 8.2 MinGW:使用“最新”的MinGW编译器

原版:

#include <string>

struct User_VPN_Info{
    std::string name, expire;
    int DaysLeft;

    User_VPN_Info(){}

    User_VPN_Info(std::string _name, std::string _expire, int _DaysLeft){
        name = _name;
        expire = _expire;
        DaysLeft = _DaysLeft;
    }

    std::string getString(){
        return(name + " + " + expire + " + " + std::to_string(DaysLeft) + " ; ");                                                    
    }                                             //^_______^ problem here
};
我想将int转换为string

然而,我尝试使用方法将其转换为字符串

此建议的方法
std::to_string()
在使用时会导致错误(to_string作为错误)

无法将标识符解析为\u字符串

项目依赖性:

#include <string>
#include <iostream>
#包括
#包括
在寻找解决此问题的方法时,出现了两个Promotor解决方案,并且

<>设置C和C++编译器版本应该能很好地解决这个问题。 没有,有什么建议吗?

最小代码:

#include <string>

struct User_VPN_Info{
    std::string name, expire;
    int DaysLeft;

    User_VPN_Info(){}

    User_VPN_Info(std::string _name, std::string _expire, int _DaysLeft){
        name = _name;
        expire = _expire;
        DaysLeft = _DaysLeft;
    }

    std::string getString(){
        return(name + " + " + expire + " + " + std::to_string(DaysLeft) + " ; ");                                                    
    }                                             //^_______^ problem here
};
#包括
结构用户\u VPN\u信息{
std::字符串名称,过期;
int DaysLeft;
用户\u VPN\u Info(){}
用户信息(std::string\u name,std::string\u expire,int\u DaysLeft){
名称=_名称;
expire=\u expire;
DaysLeft=_DaysLeft;
}
std::string getString(){
return(name++“+”+expire++“+std::to_string(DaysLeft)+“;”);
}这里有个问题
};

这是明宇的一个已知问题

无误编译


如果要更改Netbeans中的工具链,必须在项目属性中添加新的工具集合

在我回答这个问题之前,我想感谢steff为我指引了正确的方向,从而让我解决了这个问题,如果你认为他的答案值得,请投赞成票

我的安装信息

Product Version: NetBeans IDE 8.2 (Build 201609300101)
Java: 1.8.0_112; Java HotSpot(TM) 64-Bit Server VM 25.112-b15
Runtime: Java(TM) SE Runtime Environment 1.8.0_112-b15
System: Windows 10 version 10.0 running on amd64; Cp1252; en_ZA (nb)
设置Netbeans等

<> >我已经安装了明W32,正如它所指定的,这是为C++设置编译器(因为它看起来不是自动执行的)。 我遵循所有步骤,将路径添加到环境中,并且不更改任何安装路径,以尽可能将其保留在“教程”中

在编码和导入代码之后,我遇到了上面提到的错误,因此steff建议使用MinGW64编译器,我刚刚使用了mingw32编译器

解决方案

所采取步骤概述(我的解决方案)

  • 安装MinGW64
  • 添加工具链(又名编译器)
  • 更改项目工具链(又名编译器)
  • 1.

    从sourceforge中找到MinGW64安装程序

    安装此程序,当然不更改任何设置

    2.

    打开netbeans>Tools>Options>C/C++选项卡

    这里我在左边有MinGW,这是预安装的编译器,它的存在是由于文档页面中的安装说明(给出错误的MinGW32编译器/toochain)

    单击Add(添加新编译器),浏览到新安装的MinGW64编译器的位置,我的位于:

    C:\Program Files\mingw-w64\x86_64-6.2.0-win32-seh-rt_v5-rev1\mingw64\
    
    将编译器命名为适当的名称,我将我的命名为“MinGW_64”,对于工具集合系列,选择“GNU MinGW”,然后单击ok

    • 现在,将链接添加到编译器exe
    在我的例子中,我必须填写两个部分,即
    C编译器
    字段和
    C++编译器
    字段

    <>强>请注意C++ C++应该指向哪个特定的exe,我只选择了<代码> C++ > exe < />代码,这个编译器解决了我的问题,我不确定<代码> Gcc.exe < /> >/p> 请参阅下图作为参考

    完成此操作后,将MinGW64编译器设置为默认编译器

    3.

    最后,如果您有一个发生此错误的开放项目(我假设最有可能是这种情况),那么还有最后一件事要做

    右键单击项目>属性>生成

    查找选项“Tool Collection”,相应的编译器名称应该是“MinGW”(与我前面提到的编译器的名称相同-错误的一个),这应该更改为您刚刚安装并添加到工具>选项>C/C++部分的新的MinGW_64编译器

    完成

    关闭项目属性,项目应自动重新分析,如果没有,请右键单击项目>代码帮助>重新分析项目,等待重新分析,您的问题应得到解决


    我真的希望这能有所帮助。

    std::to_string
    是在C++11中添加的。NetBeans是否有可能使用C++03进行编译?有没有办法指定要使用哪个版本?您应该将
    -std=c++11
    作为编译器选项传递。@CoryKramer是的,我有c++98、c++11、c++14的选项。我尝试使用11和14,在每次更改后重新评估项目,但仍然没有luck@SimonKraemer见上文谢谢你steff,在遵循你提出的解决方案后,我已经解决了我的问题,不幸的是,我不会将此标记为正确答案,尽管它确实帮助了我,使我走上了解决问题的正确道路,我会发布解决方案,将所有信息等,但谢谢!
    C:\Program Files\mingw-w64\x86_64-6.2.0-win32-seh-rt_v5-rev1\mingw64\