我在Visual Studio中使用Resharper C ++,由于明显的命名空间冲突,我得到了一个模糊的符号错误。我在Sd.cpp中遇到此错误,例如,我想实例化枚举模式。
枚举类Mode在Pins.hpp中定义,它包含在Sd.hpp中。但是,如果我在Sd.ccp中包含Pins.hpp,则会出现ambigous符号错误。编译项目没有问题。
Resharper / Intellisense可能无法识别Pins.hpp是同一个文件吗? #pragma once
的工作方式是文件路径,所以我不知道会发生什么。
我最近更改了包含目录,所以这可能与此问题有关。
任何帮助都将不胜感激。
Sd.hpp
#include "Pins.hpp"
Sd.cpp
#include "Pins.hpp"
Mode mode; //error here, Mode is underlined
Pins.hpp
enum class Mode : uint32_t
{
AlternatePushPull = GPIO_MODE_AF_PP,
};
EDIT1:添加了代码。 EDIT2:将问题重命名为更有用的问题