gpt4 book ai didi

c++ - 在 Netbeans IDE 8.0.2 中使用(低于分数) "_"

转载 作者:行者123 更新时间:2023-11-30 05:43:00 24 4
gpt4 key购买 nike

在头文件中我有一个函数

typedef std::vector<double> 1DVector
typedef std::vector<1DVector> 2Dvector
static void FuncA(2DVector& M, 2DVector& S, 2DVector& MSI);

在.cpp 文件中

void ClassTemp::FuncA(2DVector& _M, 2DVector& _S, 2DVector& _MSI);

我使用的是 netbeans IDE 8.0.2。当我编译这段代码时,我收到类似

的错误
error: expected ',' or '...' before numeric constant

error: prototype for void void ClassTemp::FuncA(2DVector& _M, 2DVecto
r& _S, 2DVector& _MSI) does not match any in class ClassTemp.

error: candidate is void ClassTemp::FuncA(2DVector& _M, 2DVector& _S, 2DVector& _MSI)

我在网上搜索了一下,发现这与_有关,但之前我用netbeans IDE 7.4成功编译了这段代码。任何帮助将不胜感激。

编辑:

我正在使用 arm-linux-androideabi-g++ 编译器进行编译。

最佳答案

在 C 和 C++ 中,以下划线开头后跟大写字母的名称(例如,_M)保留用于语言实现。它们可以是 #defined 宏或用于内部语言实现类和函数的名称。因此,您不应该在自己的代码中使用它们,否则您可能会遇到奇怪的问题。我怀疑这就是问题所在。

尝试重命名您的变量以使用小写的 m 或删除下划线。 (注意,同样的规则适用于以两个下划线开头的名称,所以不要尝试在前面添加另一个下划线。^_^)

希望这对您有所帮助!

关于c++ - 在 Netbeans IDE 8.0.2 中使用(低于分数) "_",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30387814/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com