错误 C2259:'<someclass>':无法实例化抽象类
error C2259: '<someclass>' : cannot instantiate abstract class
我得到这个编译器错误,而试图编译一个vs6 vc++代码。<someclass>
不是一个抽象类。当单击错误时,指针指向函数
void resize(size_type _Newsize, _Ty _Val)
{
if (_Mysize < _Newsize)
_Insert_n(end(), _Newsize - _Mysize, _Val);
else
while (_Newsize < _Mysize)
pop_back();
}
奇怪。任何解决方案。类,
class SomeClass: public parentObject
{
public:
SomeClass() {}
SomeClass(const someotherclass& p, double uu, double vv)
{ z= p; u = uu; v = vv; }
protected:
double u, v;
someotherclass z;
};
如果一个类有纯虚成员,则不能创建该类的实例。这些纯虚成员是在该类中还是在基类中声明的。除非类的所有成员都存在,否则不能创建类。具有纯虚成员(无论是在类中声明还是在基类中声明)的类称为抽象类。
因此,如果您继承了具有纯虚拟成员的基类,如果您想创建该类的实例(例如将它们放在std::vector
中),则必须在派生类中实现这些。
可以在std::vector
中放置指向抽象类的指针。但只有指针,而不是对象本身。因此,您需要使用new
来分配对象,但是由于该类是抽象的,因此根本无法创建它们。因此,您需要派生一个实现纯虚方法的新类。然后你就可以创建这个类并把它放到std::vector<someclass*>
中
相关文章:
- ATL::CComContainedObject<contained>: C2259 无法实例化抽象类
- 如何使用其中一个具体类实例化抽象类?
- 无法实例化抽象类错误
- 无法实例化抽象类,但类不是抽象/派生方法的参数
- 'AMA::我的产品':无法实例化抽象类
- 无法实例化抽象类
- 如何修复错误C2259:无法实例化抽象类
- C++,不能实例化抽象类
- 无法使用多重继承 c++ 实例化抽象类
- 无法实例化抽象类
- C++,无法实例化抽象类错误
- C2259:'ATL::CComObject<Base>':无法实例化抽象类
- 错误 C2259:'CDocument':无法实例化抽象类
- 帮助错误 C2259:无法实例化抽象类
- 无法实例化抽象类
- 错误 C2259"类":无法实例化抽象类
- 不能实例化抽象类的对象,但必须返回该类的对象
- 继承错误 - 无法实例化抽象类 无法访问在类中声明的受保护成员
- 无法使用 c++11 实例化抽象类
- 创建 CTI 适配器时无法实例化抽象类