C++定义vector容器问题
不知道为什么总是定义vector失败原本我需要改动recv()函数voidAODV::recv(Packet*p,Handler*){//vector<Packet*>s...
不知道为什么总是定义vector失败
原本我需要改动recv()函数
void
AODV::recv(Packet *p, Handler*) {
//vector<Packet*>send_buffer();
//vector<Packet*>decoding_buffer();
......
}
这个函数里需要用到这两个容器,却发现总是定义失败,提示我识别不了类型Packet*(大概是这个意思,编译器提示在*前少了分号或是其他什么);
class AODV: public Agent {
/*
* make some friends first
*/
vector(Packet*) send_buffer;
vector(Packet*) decoding_buffer;
public:
AODV(nsaddr_t id);
void recv(Packet *p, Handler *);
后来想起这个函数是在AODV类内定义的,于是改去在AODV类下去定义,结果提示'vector' can not name type。我也包含了头文件#include<vector>,也没有嵌套包含头文件,就是不懂为什么总是通不过。C++方面确实是边看边写,还在摸索,求大神帮忙指点。 展开
原本我需要改动recv()函数
void
AODV::recv(Packet *p, Handler*) {
//vector<Packet*>send_buffer();
//vector<Packet*>decoding_buffer();
......
}
这个函数里需要用到这两个容器,却发现总是定义失败,提示我识别不了类型Packet*(大概是这个意思,编译器提示在*前少了分号或是其他什么);
class AODV: public Agent {
/*
* make some friends first
*/
vector(Packet*) send_buffer;
vector(Packet*) decoding_buffer;
public:
AODV(nsaddr_t id);
void recv(Packet *p, Handler *);
后来想起这个函数是在AODV类内定义的,于是改去在AODV类下去定义,结果提示'vector' can not name type。我也包含了头文件#include<vector>,也没有嵌套包含头文件,就是不懂为什么总是通不过。C++方面确实是边看边写,还在摸索,求大神帮忙指点。 展开
1个回答
展开全部
vector(Packet*) send_buffer;
vector(Packet*) decoding_buffer; 这个括号是不是错了
//改完:
std::vector<Packet*> send_buffer;
std::vector<Packet*> decoding_buffer;
另外:你的Packet 是在哪定义的,可以放到class类定义的上面
更多追问追答
追问
哦,不好意思,是打错了,不是这个问题
追答
你的Packet 是在哪定义的?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询