[c/c++互相包含困惑]c文件包含c++头文件
用.c文件去包含一个 cpp定义的头文件,结果报出类似以下的一大堆错误:
expected ';', ',' or ')' before '&' token
expected declaration specifiers or '...' before 'UsFileOpenMode'
情况是这样的:
有以下文件:
cfile.c
cppfile1.cpp
cppfile1.h
cppfile2.cpp
在cppfile2.cpp中 #include "cppfile1.h" 就完全正常,没有任何问题
但是如果在cfile.c中 #include "cppfile1.h" 就会报出以上那些错误
所以想请教:
是因为c++的头文件不能被 c文件包含么?
如果是这样,是因为 c编译器无法识别c++编译器标识的函数吗?
另外,引申出来的问题:
1. c++ 使用 c 的文件,需要在c的头文件里加 extern "C" {}
2. c 使用 c++的文件,是要在c++ 头文件和实现文件里 也加 extern "c" 吗?
这样,其它 c++文件在使用这个 c++头文件时,ok吗?
3. 还有其它什么注意事项,也请多多指点 多谢!
等别人回答我的问题,顺便把我知道的说下吧.
我所碰到的c\c++混编,C++头文件不能被C文件包含.
1.是.
2.简单的方法是,在cpp文件中,把#include 的C头文件用Extern "c" {}括起来就行了.或者在整个C头文件中.
不会受到影响.
3.其它的貌似没有了...碰到再问吧.
c++头文件里难免有些类、引用等等c语言里面没有的东西,把他们包含到c文件里,gcc可处理不了。
比如楼主提到的 expected ';', ',' or ')' before '&&
相关问答:
请问用C或C++如何编写求解3D魔方的程序,该从何开始?
谢谢各位,帮忙提点建议吧。
http://www.mofang.net/code/176/182/6581.html
我只能突破60秒!唉。
我刚过40秒
google的android中有个OpenGL ES + ......
#include "stdio.h"
int main()
{
char *ch(char *, char *);
char str1[]="I am glad to meet you!";
char str2[]="Welcom to study C!";
&nb ......
我现在要些一个fortran调用C接口的问题,但是不知道 C语言里面分配的指针怎么付给fortran,又不能在fortran立马先分配好,业务上不允许。
我写了个测试的例子。但是不行。
test.c
#include <stdio.h>
#incl ......
SHIFT加F10与那个键右ctrl边上的那个键功能一样,想屏这个
但不知要怎么写那个组合键!
有没哪个大侠放一段这个的代码或写一段
http://topic.csdn.net/u/20090609/15/7dc9fb70-243f-4070-9cfd-34e48b66e6c6.html
......
本人在项目中,用ssh架构,想做成分页的效果.
以前我在页面中是,这样取得数据的
<!--进行循环遍历数据-->
<!--进行循环遍历数据-->
<%
List<Users> lof = (List) request.getAttri ......