两次包含相同标题时,Visual Studio Intellisense + Resharper会抛出暧昧的符号错误

时间:2017-08-04 15:58:06

标签: c++ visual-studio visual-c++

我在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:将问题重命名为更有用的问题

0 个答案:

没有答案