符号错误不明确
Ambiguous symbol error?
int ii, maxnum;
for(ii=1; ii<=num-1; ii++) {
if(count[ii]>max) { // the part where I get C2872 Ambiguous Symbol error
max = count[ii]; // the part where I get C2872 Ambiguous Symbol error
maxnum = ii;
}
}
我从来没有遇到过这个错误,这很令人沮丧。
您的变量max
与std::max()
冲突。 尝试使用其他名称,它应该可以修复该错误。
我认为问题不在于std::max()
,而在于minwindef.h
中的这些可怕的#define's
:
#ifndef NOMINMAX
#ifndef max
#define max(a,b) (((a) > (b)) ? (a) : (b))
#endif
#ifndef min
#define min(a,b) (((a) < (b)) ? (a) : (b))
#endif
#endif /* NOMINMAX */
在项目设置中使用#define NOMINMAX
或stdafx.h
。
我在
C++
中使用Intel RealSense 3D SDK
时遇到了同样的问题。我在自己的代码中有一个hand.cpp
和hand.h
,当我using namespace Intel::RealSense;
时,它恰好是冲突。为了修复它,我删除了using namespace Intel::RealSense;
,并将 PXC 添加到与实感 SDK 相关的每个类名中。以下是一些新更改的示例:#
include "RealSense/SenseManager.h"
#include "RealSense/SampleReader.h"
#include "util_render.h"
#include "Visualizer.h"
#include <iostream>
using namespace std;
//using namespace Intel::RealSense;
PXCSenseManager *pp = PXCSenseManager::CreateInstance();
PXCCapture::Device *device;
PXCCaptureManager *cm;
这是旧代码的样子:
#include "RealSense/SenseManager.h"
#include "RealSense/SampleReader.h"
#include "util_render.h"
#include "Visualizer.h"
#include <iostream>
using namespace std;
using namespace Intel::RealSense;
SenseManager *pp = SenseManager::CreateInstance();
Capture::Device *device;
CaptureManager *cm;
更改后,我不再收到以下错误。
Severity Code Description Project File Line Suppression State
Error C2872 'Hand': ambiguous symbol OpenARK-SDK c:openarkObject3D.h
相关文章:
- C++ 编译器错误:P1LinkedList.cpp:145:错误:重载的"to_string(int&)"调用不明确
- gcc出现不明确的模板实例化错误
- "byte":使用Crypto++和Windows SDK时出现不明确的符号错误
- 使用 std::iterator_traits<> 时编译时错误不明确
- 在类Bat代码中,这给了我错误:重载的"Bat()"的调用是不明确的Bat(;)
- 错误错误 C2872:"布尔值":kinect.h 的不明确符号
- C++打印模板容器错误(错误:"运算符<<"的不明确重载)理解?
- 错误:使用复制和交换习惯用法的交换函数中"operator="的重载不明确
- 不明确的错误重载运算符<<QdataStream 子类和个人类
- 模板上下文中的"不明确的基类"错误
- C++ 模板不明确错误
- 为什么调用不明确的 ctor 时没有编译时错误?
- G++ 错误:重载的"abs(无符号 int)"的调用不明确
- 提升错误:"运算符=="的重载不明确
- Rcpp/C++/R:比较日期时间矢量与日期时间时出错(错误:"运算符>"的不明确重载)
- 错误:在为 i386 构建时,使用重载运算符'[]'不明确
- 错误:重载'stoi(nlohmann::basic_json<>::value_type&)'的调用不明确
- 错误:重载的"abs(double)"调用不明确
- 运算符重载和函数重载产生不明确的编译器错误
- 继承类 c++ 中的不明确错误