使用 类 内置 C++ 控制台应用程序的 MFC 编译错误

MFC compile error using classes built in C++ console app

我正在尝试使用我在 C++ 控制台应用程序中编写的代码在 MFC 中构建分形应用程序。我在 MFC 应用程序中创建了所有相同的 classes,然后单击构建(我没想到它会起作用)

无论如何,它对 RGB.h class 和 RGB.cpp class.
抱怨很多 我需要更改项目配置中的某些内容吗?

如果我构建控制台应用程序,它工作正常,但在 MFC 应用程序中尝试使用 classes 时显然存在差异。

只是想知道我是否可以对这两个错误做些什么,因为我不确定从哪里开始。

RGB.cpp

编译器错误:应为 ;

RGB::RGB(double r, double g, double b) : r(r), g(g), b(b) {}

RGB.h

Error C2143 语法错误:在“|”之前缺少“)”

RGB(double r, double g, double b);

这样发布的代码没有问题。但是 RGB 是一个宏,在 wingdi.h 中声明,在包含 Windows.h 时被引入。它是这样定义的:

#define RGB(r,g,b) ((COLORREF)(((BYTE)(r)|((WORD)((BYTE)(g))<<8))|(((DWORD)(BYTE)(b))<<16)))

此预处理器宏与用于该类型的符号冲突。为类型使用不同的符号是最简单的,例如rgb.