c.h.cpp文件包含问题
//c1.h
#include <stdio.h>
//c2.h
struct
{
int a;
}integer;
//c3.cpp
void print(integer item)
{
item.a=1;
printf("%d", item.a);
}
//main.cpp
#include "c1.h"
#include "c2.h"
#include "c3.cpp"
int main()
{
integer item;
print(item);
return 0;
}
为什么编译不能通过,问题是:
D:\Program Files\Microsoft Visual Studio\MyProjects\hcpp\cpp.cpp(1) : error C2065: 'integer' : undeclared identifier
D:\Program Files\Microsoft Visual Studio\MyProjects\hcpp\cpp.cpp(1) : error C2146: syntax error : missing ')' before identifier 'item'
D:\Program Files\Microsoft Visual Studio\MyProjects\hcpp\cpp.cpp(1) : error C2182: 'print' : illegal use of type 'void'
D:\Program Files\Microsoft Visual Studio\MyProjects\hcpp\cpp.cpp(1) : error C2059: syntax error : ')'
D:\Program Files\Microsoft Visual Studio\MyProjects\hcpp\cpp.cpp(2) : error C2143: syntax error : missing ';' before '{'
D:\Program Files\Microsoft Visual Studio\MyProjects\hcpp\cpp.cpp(2) : error C2447: missing function header (old-style formal list?)
main.cpp
d:\program files\microsoft visual studio\myprojects\hcpp\cpp.cpp(1) : error C2146: syntax error : missing ')' before identifier 'item'
d:\program files\microsoft visual studio\myprojects\hcpp\cpp.cpp(1) : error C2182: 'print' : illegal use of type 'void'
d:\program files\microsoft visual studio\myprojects\hcpp\cpp.cpp(1) : error C2440: 'initializing' : cannot convert from 'struct ' to 'int'
No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
d:\program files\microsoft visual studio\myprojects\hcpp\cpp.cpp(1) : error C2059: syntax error : ')'
d:\program files\microsoft visual studio\myprojects\hcpp\cpp.cpp(2) : error C2143: syntax error : missing ';' before '{'
d:\program files\microsoft visual studio\myprojects\hcpp\cpp.cpp(2) : error C2447: missing function header (old-style formal list?)
D:\Program Files\Microsoft Visual Studio\MyProjects\hcpp\main.cpp(7) : error C2146: syntax error : missing ';' before identifier 'item'
D:\Program Files\Microsoft Visual Studio\MyProjects\hcpp\main.cpp(7) : error C2065: 'item' : undeclared identifier
请大神帮忙!!!谢谢!!! c
[解决办法]
你这些所谓的头文件定义是很混乱的,但这不是你出错的主要问题,你把struct类的申明和定义搞混了,应该是
struct integer;
{
int a;
}
void print(integer item)
{
item.a=1;
printf("%d", item.a);
}
#ifndef __TEXT_H__
#define __TEXT_H__
//你要在别处用的函数体或者变量
#endif