我认为您只能创建指向前向声明类的引用或指针成员。然而,我惊讶地发现这个有效:
#include <vector>
struct Donkey;
struct Cage
{
std::vector<Donkey> donkeys;
};
struct Donkey
{
};
int main()
{
Cage c;
}
http://ideone.com/EP0zKR
怎么会std::vector
可以用前向声明的类来定义吗?这是标准吗?
事实上,你不能。
仅仅因为您的程序可以编译(这取决于底层实现的事实)并不意味着它是有效的。
;就是这样这不是其中的一个.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)