我想轉發在頭文件中聲明結構。結構向前聲明錯誤:使用不同類型的Typedef重新定義
struct GLFWvidmode;
class DesktopVideoMode {
private:
const GLFWvidmode *videomode;
public:
DesktopVideoMode(const GLFWvidmode *videomode);
...
在CPP文件I包括與定義的外部報頭...
#include "DesktopVideoMode.hpp"
#include <GLFW/glfw3.h>
...其中誤差「重新定義的typedef具有不同類型( '結構GLFWvidmode' VS「GLFWvidmode ')「發生:
typedef struct
{
/*! The width, in screen coordinates, of the video mode.
*/
int width;
/*! The height, in screen coordinates, of the video mode.
*/
int height;
/*! The bit depth of the red channel of the video mode.
*/
int redBits;
/*! The bit depth of the green channel of the video mode.
*/
int greenBits;
/*! The bit depth of the blue channel of the video mode.
*/
int blueBits;
/*! The refresh rate, in Hz, of the video mode.
*/
int refreshRate;
} GLFWvidmode;
我不能在這樣的情況下轉發聲明嗎?
是的,我意識到後,我發表了評論,並從此抹去。 – Anycorn
@AdamS:那麼你不能避免包括頭... –