相关疑难解决方法(0)

使用STL容器转发对象的声明

请考虑以下代码段,其中第一行仅用作前向声明

 class A;
Run Code Online (Sandbox Code Playgroud)

然后定义新类

class B
{
 vector<A> Av;  //line 1
 map<int, A> Am;  //line 2
 pair<int, A> Ap; //line 3
};
Run Code Online (Sandbox Code Playgroud)

第1行和第2行似乎没有前向声明(这可能告诉我那些容器使用指针类型的实现),其中第3行似乎不在VS2012上编译.

我的问题是标准或特定于我正在使用的编译器所规定的行为?

谢谢

c++ stl forward-declaration std-pair visual-studio-2012

6
推荐指数
2
解决办法
1366
查看次数