我想用C语言OOP。。。为神马这代码编译不过??
[code=C/C++][/code]
#include<stdio.h>
struct stu;
struct DataMember;
void p( struct DataMember *a);
struct MemberFunction
{
void (*print)(struct DataMember* a);
};
struct DataMember
{
int a;
int b;
};
struct stu
{
struct DataMember data;
struct MemberFunction function;
};
void p( struct DataMember *a)
{
printf("%d %d ",a->a ,a->b);
}
int main()
{
struct stu a;
a.data.a = 1;
a.data.b = 2;
a.function.print = p;
a.function.print(a.data);
return 0;
}
[解决办法]
a.function.print(a.data);
-->
a.function.print(&a.data);
[解决办法]
参数类型不对,编译器肯定会报给你知,要认真看...