Неоднозначная ошибка символа? - PullRequest
9 голосов
/ 28 февраля 2012
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;  
    }  
}  

Я никогда не получал эту ошибку, и это расстраивает.

Ответы [ 2 ]

17 голосов
/ 28 февраля 2012

Ваша переменная max конфликтует с std::max(). Попробуйте использовать другое имя, и это должно исправить эту ошибку.

0 голосов
/ 23 мая 2017

У меня была такая же проблема при использовании Intel RealSense 3D SDK в C++. У меня были hand.cpp и hand.h в моем собственном коде, и когда у меня было using namespace Intel::RealSense;, это был конфликт. Чтобы исправить это, я удалил using namespace Intel::RealSense; и добавил PXC к каждому имени класса, связанному с RealSense 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:\openark\Object3D.h 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...