C++ 在C+中使用的C枚举+;文件 mode.h::来自c mode.cpp

C++ 在C+中使用的C枚举+;文件 mode.h::来自c mode.cpp,c++,c,C++,C,我发现以下编译错误: 尚未声明模式 我尝试对enum使用extern,但随后出现以下错误: 错误:在没有先前声明的情况下使用枚举“模式” 如何在C++文件中使用C枚举 如何在C++文件中使用C语言? 与所有C声明一样,您必须使用extern“C” 您可以将其放在include指令周围,例如: extern "C" { #include "mode.h" } 一个常见的模式是使用 #ifdef __cplusplus extern "C" { #endif #ifdef __cplus

我发现以下编译错误:

尚未声明模式

我尝试对
enum
使用
extern
,但随后出现以下错误:

错误:在没有先前声明的情况下使用枚举“模式”

如何在
C++
文件中使用
C
枚举

如何在C++文件中使用C语言? 与所有C声明一样,您必须使用
extern“C”

您可以将其放在include指令周围,例如:

extern "C" {
    #include "mode.h"
}
一个常见的模式是使用

#ifdef __cplusplus
extern "C" {
#endif

#ifdef __cplusplus
}
#endif
在头文件本身的开头和结尾,以使头文件在两种语言中都可用,而不必知道头文件使用的语言

如何在C++文件中使用C语言? 与所有C声明一样,您必须使用
extern“C”

您可以将其放在include指令周围,例如:

extern "C" {
    #include "mode.h"
}
一个常见的模式是使用

#ifdef __cplusplus
extern "C" {
#endif

#ifdef __cplusplus
}
#endif

在头文件本身的开头和结尾,以使头文件在两种语言中都可用,而不必知道头文件使用的语言。

您使用的编译器是什么?古代的C没有枚举,但现代的标准是。没有include将无法工作,btwDid您是否在
模式下包含头文件。cpp
?否则,它会如何知道<代码> Mod > <代码>?如果在C++源文件中包含<代码>模式.h <代码>,则需要在函数的头文件中有<代码>外“C”< /代码>。不清楚哪个文件包含什么。你能告诉我们完整的错误吗?复制粘贴它,包括任何可能的信息注释,并且不进行任何修改或编辑。您使用的编译器是什么?古代的C没有枚举,但现代的标准是。没有include将无法工作,btwDid您是否在
模式下包含头文件。cpp
?否则,它会如何知道<代码> Mod > <代码>?如果在C++源文件中包含<代码>模式.h <代码>,则需要在函数的头文件中有<代码>外“C”< /代码>。不清楚哪个文件包含什么。你能告诉我们完整的错误吗?复制粘贴它,包括任何可能的信息注释,并且不进行任何修改或编辑。#ifdef uu cplusplus我正在使用但不用于头调用,仅用于函数可能是由于该#ifdef u cplusplus我正在使用但不用于头调用,仅用于函数可能是由于该原因