我有一个使用0.5.0.1 SDK的项目(VS2012)。 SDK包含OVR命名空间(OVR :: System)下的System类。在我写的一堂课中,我使用的是:: System。这有效,并不是什么给了我这个问题。当我编译时,我得到错误C2872:'系统':模糊符号,有问题的文件是C:.... \ Microsoft Visual Studio 12.0 \ VC \ include中的typeinfo,xlocale和xiosbase。错误说" System"可能是"系统"或OVR ::系统。有没有解决的办法?如何在不改变文件内容(我不想做)的情况下使用:: System而不是OVR :: System来获取typeinfo,xlocale和xiosbase?
答案 0 :(得分:1)
using namespace OVR;
指令应该不是问题,除非您在#include
指令上面写了它。
库头文件的引用应始终位于您自己的代码之前,正是因为这种情况不会发生。一个例外是当库文档告诉您定义一个特定的宏来控制库行为时,在这种情况下,该库旨在用于您的定义。
为:
using namespace OVR;
#include <typeinfo>
#include <locale>
好:
#include <typeinfo>
#include <locale>
using namespace OVR;