【问题标题】:netbeans unable to resolve identifier c_strnetbeans 无法解析标识符 c_str
【发布时间】:2016-12-16 00:13:28
【问题描述】:

大家好

我最近从 Qt-Creator 切换到 NetBeans,我对这个决定感到遗憾,这是我最近遇到的(许多)编译器错误等问题。

Previous issue and MinGW64 compiler installation

问题:

由于std::to_string 方法出现不合理错误,安装 MinGW64 编译器后,我遇到了类似问题。

目前,我正在使用 MinGW64 编译器,当尝试使用 c_str() 函数时,出现错误

无法解析标识符 c_str

重新解析项目没有效果。 尝试使用自动完成不会提供任何建议

最低限度代码:

#include <string>    
using namespace std;

netm::netm(string hostname, int portNumber)
{
    const char * c = hostname.c_str();
}

Netbeans IDE 信息:

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)

有什么建议吗?

【问题讨论】:

  • 伙计,如果每个人都像过去一样使用ed,这不会有问题。
  • @user4581301 哈哈哈指望有人说最终......
  • 您似乎忽略了编译器和 IDE 之间的区别。 lib's & headers 文件夹搜索选项呢?
  • @Ripi2 我认为你可能是对的,那么有 2 个问题,1. “libs 和 headers 文件夹搜索选项”和 2. (不是很重要,但为了提供信息)为什么更改编译器会解决我之前遇到的问题吗 - 链接帖子的问题是通过更改编译器解决的。
  • 1) 编译器必须知道在哪里可以找到#included 标头以及在哪里可以找到链接库。你必须告诉它。 2) 碰巧有些 IDE 还包含编译器,并为这些搜索“自动”传递所需的标志。

标签: c++ netbeans


【解决方案1】:

我通过https://stackoverflow.com/a/35025731/4101876找到了解决这个问题的方法

您需要设置以下内容:右键单击项目,选择属性。在 Build -> C++ Compiler 下,将 C++ Standard 设置为非默认值。这将消除此错误错误。

【讨论】:

  • 为我工作;将 Netbeans 的代码辅助从 c++11 设置为 c++14 会消除红色突出显示,尽管 std::to_string 也是正确的 c++11。
  • 我有 C++ 14 标准,改为 C++ 11,它有所帮助。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-08-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多