【发布时间】:2016-12-18 08:16:16
【问题描述】:
考虑以下代码 sn-p,其中第一行仅用作前向声明
class A;
接着定义新的类
class B
{
vector<A> Av; //line 1
map<int, A> Am; //line 2
pair<int, A> Ap; //line 3
};
第 1 行和第 2 行似乎可以使用前向声明(这可能会告诉我那些容器使用指针类型的实现),而第 3 行似乎无法在 VS2012 上编译。
我的问题是标准规定的行为还是我使用的编译器特定的行为?
【问题讨论】:
标签: c++ visual-studio-2012 stl forward-declaration std-pair