c ++如何使用struct类型获取向量的大小

时间:2015-02-07 13:14:39

标签: c++ vector struct

我无法获得包含结构类型的向量的大小。 apples.h:

#ifndef APPLES_H
#define APPLES_H
#include <vector>
#include <iostream>

struct a{
    int b;
    bool c;
};

class apples
{
    public:
        apples();
        ~apples();
    protected:
    private:


        static std::vector<a> d;

};

#endif // APPLES_H

apples.cpp:

#include "apples.h"

std::vector<a> d;

apples::apples()
{
    std::cout<<d.size()<<std::endl;
}

apples::~apples()
{
    //dtor
}

这段代码给了我&#34;未定义的参考&#39; apples:d&#39;&#34; main.cpp甚至没有调用包括苹果类,所以我没有看到发布它的点

1 个答案:

答案 0 :(得分:1)

您的std::vector<a> d;d前面缺少班级名称。这应该可以解决您的错误:

std::vector<a> apples::d;

否则编译器无法知道dapples的定义。