2

我在 include.h 中有一个名为 Color、Return_main_menue 和 Playertype 的枚举,如下所示:

enum Color { Red, Orange, Grey, Blue, Green, White, Purple };
enum Return_main_menue { Start, Credits, Help };
enum Playertype { Computer, Human };

我还有一个名为 tools.cpp 的源文件以及 tools.h tools.h:

#include "including.h"
Return_main_menue mainmenue();

工具.cpp:

Return_main_menue mainmenue()
{
// function which return Start, Credits or Help
}

我在 main.cpp 中使用 mainmenue():

Return_main_menue mainm = mainmenue();

但是编译器返回错误:

.../einbindung.h:7: error: multiple definition of 'enum Farbe'
.../einbindung.h:7: error: previous definition here
and so on for the other enums
4

1 回答 1

11

使用包含保护#pragma once在标题中防止在同一个翻译单元中出现多个定义。

于 2014-05-20T13:53:23.433 回答