【发布时间】:2016-02-25 16:40:47
【问题描述】:
我有一个非常通用的Basic 类。 (如下所示)我正在尝试将指针存储在unique_ptr<Basic> 中以存储在向量中,vector<unique_ptr<Basic>>
class Basic:
public BaseClass
{
public:
Basic();
~Basic();
};
还有另一个 [host] 类包含此向量,并容纳此成员:
void BasicManagement::CreateBasicEntry(){
unique_ptr<Basic> e_Basic = p( new Basic() );
LocalBasicQueue.push_back(e_Basic);
}
其中LocalBasicQueue 是vector<unique_ptr<Basic>>。也许我的初始化是错误的,但我遇到了智能感知错误,而且我似乎无法将指针分配给一个新的类实例以存储在向量中。
(“p”的编译器错误)11 IntelliSense: call of an object of a class type without appropriate operator() or conversion functions to pointer-to-function type c:\Us...agement.cpp 15 32 TestManagement
【问题讨论】:
-
错字:
BasevsBasic? -
很抱歉 - 刚刚修复它。 :P
标签: c++ pointers vector unique-ptr