大佬教程收集整理的这篇文章主要介绍了C创建“包装器”,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试创建此包装器以包含指向所有其他类的指针.我遇到了这个问题(例子):
@H_52_5@main.cpp中
struct wrap { Game* game; Player* player; MaP* map; };
game.h
class Game { private: wraP* info; }
有没有解决方法,包装需要游戏,游戏需要包装. (我知道包装类[此案例结构]不是最佳实践,但我在其他类中经常需要该信息.)
items.h
// top struct CoreInfo; void Items::test() { struct CoreInfo* b; //b->tesTing = 4; }
(结构CoreInfo包含一个变量“int tesTing.”,我无法弄清楚如何访问items类中的任何内容,正常错误:7请求’B’中的成员’tesTing’,这是非类型的’CoreInfo’ *”
@H_52_5@main.cpp中
#include "game.h" struct wrap { Game* game; Player* player; MaP* map; };
game.h
struct wrap; class Game { private: struct wraP* info; }
编辑:
问题是你没有利用编译单元在声明和定义之间进行分离.如果你在编译单元(items.cpp)中定义你的类及其成员,在标题items.h中声明它,你就没有问题.
让我们举一个例子来说明这一点:
foo.h中
#include "bar.h" class A { B b_instance; void do_something(int i,int j); }
Foo.cpp中
#include "foo.h" int a::do_something(int i,int j) { return i+j; }
bar.h
class B { A a_instance; void use_a(); }
bar.cpp
#include "foo.h" // which includes bar.h as well void B::use_a() { int k = a_instance.do_something(); }
以上是大佬教程为你收集整理的C创建“包装器”全部内容,希望文章能够帮你解决C创建“包装器”所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。