如何在C / C ++标头中声明Typedef结构?

时间:2019-05-23 22:40:34

标签: c++ c

我正在尝试使用C语言创建一个库并将其包含在c ++项目中。 在这个库中,我想声明一个typedef指令并在c和c ++代码中使用它。这就是我想要做的。

  

C头文件

#ifdef MYFILENAME_H
#define MYFILENAME_H

typedef struct my_new_type_struct{
     int var1;
     char *str1;
} my_new_type;

void myFunction(my_new_type arg1, int arg2);

#endif
  

C代码文件

#include "myFileName.h"

void myFunction(my_new_type arg1, int arg2){
 /* do something */
}

这里的问题是my_new_type未定义,未知类型名称“ my_new_type”

  

c ++代码文件

#include <myFileName.h>
my_new_type var1;

此处相同,my_new_type未定义,“ my_new_type”未命名类型。

我的事件在C ++代码中尝试过:

extern "C"{
#include <myFileName.h>
my_new_type var1:
}

但是我没工作。

有人可以给我正确的步骤,在c头文件中声明一个结构,然后从c和c ++文件中调用它。

0 个答案:

没有答案