我有一个导出的类,它使用仅标题结构作为成员变量。
#include "SomeStruct.h"
class API_CLASS SomeClass
{
public:
// ...
private:
#pragma warning( push )
#pragma warning( disable: 4251 )
SomeStruct _active;
#pragma warning( pop )
};
我收到警告4251,因为结构未导出。该结构是外部代码的一部分,而不是当前范围的一部分。
我想让这段代码更具可读性,因为这是我将分发的标题。 理想情况下,我希望课程阅读
#include "SomeStruct.h"
class API_CLASS SomeClass
{
public:
// ...
private:
DISABLE_WARNING_BEGIN(4251)
SomeStruct _active;
DISABLE_WARNING_END
};
禁用多个警告可能需要做更多工作,但如果可以做到,那么很好但不是必需的。宏应该只为WIN32环境生成代码。我曾尝试编写宏,但包含'#'超出了我的范围。
答案 0 :(得分:0)
我可以忍受这个。这比我现在的要好。
#include "SomeStruct.h"
class API_CLASS SomeClass
{
public:
// ...
private:
#pragma warning(suppress: 4251)
SomeStruct _active;
};
感谢Heinirichj
答案 1 :(得分:0)