C++ c++;无法将标识符解析为\u字符串
你好 我到处寻找,但没有解决办法 IDE:NetBeans IDE 8.2 MinGW:使用“最新”的MinGW编译器 原版: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
#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编译器
解决方案
所采取步骤概述(我的解决方案)
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\