※ 引述《ssddy (雨剑)》之铭言:
: 查了网络上写
: double x = 0.0, y = 0.0, z = 0.0; //传入三变量
: Node *thisnode; // 宣告指标
: thisnode = Node::get_node_by_address(index); ←这行make时出现error
: ((MobileNode *)thisnode)->getLoc(&x, &y, &z);
: 可是我把这几行加入recv function时,make出现错误(如上标示)。
: invalid conversion from 'char*<*>const char*,int>'to 'nsaddr_t>'
: initializing argument 1 of 'static Node* Node::get_node_by_address<nsaddr_t>'
: 请问要怎么改才能正确抓到座标呢?@@
试试看用这招
到 mobile/god.h
把 MobileNode **mb_node; 改成public:
然后到你要使用getLoc的file中加入
#include <mobile/god.h>
God::instance()->mb_node[index]->getLoc(&x, &y, &z);
然后build clean,应该就能执行了
-
基本上这招很好用,所有跨node之间的资料存取都能够过God处理
只要仿照MobileNode **mb_node;建立一个MobileData **mb_data;
就能够用mb_data[index]的方式存取所有想要跨节点的资料
以这招作弊的方法,很多ns跨节点的问题都能解决,
甚至是跨层的问题也可以用这个偷吃步处理