小编Ang*_*fin的帖子

在标题库中"不命名类型"

我正在尝试为自己编写一个仅限头文件的辅助函数库.(我正在使用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)

c++ header class include header-only

1
推荐指数
1
解决办法
4745
查看次数

标签 统计

c++ ×1

class ×1

header ×1

header-only ×1

include ×1