Ниже приведен пример кода:
#include <iostream>
#include <vector>
typedef struct defs
{
std::vector<int> myvec;
} dvec;
typedef struct devdef: public dvec
{
dvec dvec1;
devdef()
{
dvec1.myvec.push_back(10);
}
}myVec;
class A
{
public:
A():v1()
{
std::cout << "my vec size is " << v1.myvec.size() << std::endl;
}
private:
myVec v1;
};
int main()
{
A a1;
}
Скомпилируйте и выполните:
$ c++ -std=c++11 try58.cpp
$ ./a.exe
my vec size is 0
Я ожидал, что размер вектора будет равен 1 - почему то же самое равно 0?