我正在将C文件更改为C++文件(最终将其与C程序集成)。我对C++非常陌生,实际上这是我第一次接触到它。我有一个声明函数main一个TEST.CPP文件,并招呼如下:主要不能调用函数:函数未在此范围内声明
#include "test.h"
int main()
{
hello();
return 0;
}
void hello()
{
std::cout << "Hello there!" << endl;
}
的test.h文件中声明如下:
#include <iostream>
extern "C" void hello();
当我编译使用G ++ TEST.CPP程序,我收到错误“你好没有在这个范围内声明”。
有什么建议吗?
此外,在哪里可以找到C++类及其函数的API?
你解雇了什么命令? – Sumeet
所以如果一个C程序,比如说myprog.c,需要调用函数hello(),我会在myprog.h中声明该函数为extern“C”void hello? – NewToAndroid
从C调用C++很难,至少从C++调用C更困难。最好把所有不需要C++的函数放在一个单独的'.c'源文件中,所以你把它们编译为C,并从C++源文件中声明它们是extern“C”。在.h文件的“extern C”中放置一些#ifdef __CPLUSPLUS,以便可以将它们从两种语言中包含在内;例如检查标准的包含文件。 –