std::to_string - 'to_string' 不是 'std' 的成员 - Visual Studio Code 1.42.0

3
我在编译代码时遇到了问题。我想使用std :: to_string,因为它是将int转换为字符串的方便方法。然而,我一直收到“'to_string'不是'std'的成员”错误提示,这似乎是编译器的问题,因为在较新的C ++版本中应该是标准功能。
第一次编译失败后,我进行了一些研究,根据我的发现,我尝试了以下操作:
包括以下头文件:
#include <iostream>
#include <string>
#include <sstream>

尝试使用C++ 11、17和20进行编译。
在msvc-x64和gcc-x64之间更改Intellisense模式。
在“默认”和“标签解析器”之间更改Intellisense引擎。
这些都似乎不能解决问题。我不知道还有什么其它尝试的方法了,请提供任何见解,感激不尽。

2
你是如何使用 std::to_string() 的? - David C. Rankin
3
请尝试创建一个 [mcve] 以展示给我们。同时请复制并粘贴“完整的”构建输出到问题正文中,并添加注释在出现错误的行上。另外,请花些时间阅读关于“如何提问好问题”的内容(http://stackoverflow.com/help/how-to-ask),以及这个问题清单(https://codeblog.jonskeet.uk/2012/11/24/stack-overflow-question-checklist/)。 - Some programmer dude
1
这里有一个类似的问题,提供了一些解决方法和可能的解决方案。https://dev59.com/smcs5IYBdhLWcg3wSSDH - bcal
类似的问题可以在这里找到(https://stackoverflow.com/questions/60047429/centos7-g-to-string-is-not-in-a-member-of-std/60047525#60047525)。然而,它与GCC有关,而不是MSVC,但它可能会对您有所帮助。 - NutCracker
即使您按照预期从VS Dev Powershell启动,VS Code对于本机Windows C++编程并不是很好。我建议使用远程扩展在WSL或容器中进行编码,或者如果需要在Windows环境下工作,则可以直接使用完整的VS Community。 - sweenish
编译正常:https://gcc.godbolt.org/z/3Ke6x3nd3 - Alexander Dyagilev
1个回答

1
将C++标准版本更改为C++11(最小值,默认情况下为C++98)。您还可以检查编译器路径:默认情况下为clang。 您可以通过从命令面板(Ctrl+Shift+P)运行命令C/C++:编辑配置(UI),在C/C++配置UI中更改它。

“默认情况下是C++98” 取决于编译器版本。 - HolyBlackCat

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接