枚举的多重定义[重复]

问题描述 投票:1回答:1

这个问题在这里已有答案:

我在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();

tools.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
c++ multiple-definition-error
1个回答
8
投票

在标题中使用include guards#pragma once以防止在同一翻译单元中出现多个定义。

© www.soinside.com 2019 - 2024. All rights reserved.