“b1的多重定义”即使守卫是活跃的

时间:2018-04-23 01:01:40

标签: c++

我四处寻找,似乎没有一个解决方案能与我合作。 我正在尝试使用ADT方法来组织我的项目,但我正在

  

b1的多重定义

我有4个文件:

  1. 的main.cpp
  2. myLibrary.cpp
  3. myLibrary.h
  4. menu.cpp
  5. 在main.cpp里面我有这段代码:

    #include "myLibrary.h"
    #include "menu.cpp"
    
    int main()
    {
        mainMenu();
    }
    

    在myLibrary.cpp里面我有:

    #include "myLibrary.h"
    ///Here I have the content of the functions
    

    在myLibrary.h中,我有:

    #ifndef MYLIBRARY_H_INCLUDED
    #define MYLIBRARY_H_INCLUDED
    
    struct button
    {
    public:
        int x1, x2, y1, y2;
        bool over = 0;
    };
    #endif
    

    在menu.cpp里面我有:

    #include "myLibrary.h"
    button b1;
    inline void mainMenu()
    {
        b1.x1 = 100;
        b1.x2 = 200;
        b1.y1 = 100;
        b1.y2 = 200;
    
        draw(b1);
    }
    

1 个答案:

答案 0 :(得分:1)

你有这个:

#include "menu.cpp"

您永远不应该包含.cpp文件。只应包含标题。