我正在尝试为自己编写一个仅限头文件的辅助函数库.(我正在使用boost和SDL,并且boost更容易使用,所以我想模仿我自己的帮助库.)
对于我的一个课程,我收到错误"不为一个类型命名",这让我很困惑.我知道我可以通过拼写错误或循环包含来解决这个问题,但在我的代码中找不到这些问题.SdlWindow.cpp中的前向声明没有帮助.再次包括标题(所以I/do /有一个循环包含)也没有帮助(我得到"先前定义的"错误).
Main.cpp的:
#include <WBS/SdlWindow.hpp>
int main(int argc, char **argv) {
WBS::SdlWindow myWindow("Test window", 640, 480);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
SdlWindow.hpp:
#ifndef SDLWINDOW_HPP_
#define SDLWINDOW_HPP_
#include <string>
#include <SDL/SDL.h>
namespace WBS {
class SdlWindow {
public:
//Member Variables
SDL_Surface *screen;
int xSize;
int ySize;
//Constructor and Destructor
SdlWindow(std::string title, int xSize, int ySize);
virtual ~SdlWindow();
//Member Functions
};
}
#include "SdlWindow.cpp"
#endif /* SDLWINDOW_HPP_ */
Run Code Online (Sandbox Code Playgroud)
和SdlWindow.cpp:
#include <string>
namespace WBS {
SdlWindow::SdlWindow(std::string title, int xSize, int ySize) {
this->xSize = …Run Code Online (Sandbox Code Playgroud)