我有这段代码:
#include <iostream>
#include <string>
#include <vector>
class MyAbstract
{
public:
std::string id;
virtual void doStuff() = 0;
virtual ~MyAbstract() {}
};
int main()
{
std::vector<MyAbstract> myList;
for(auto item : myList)
{
//DoSomething
}
}
但它不会与此错误一起编译:
错误:无法分配抽象类型“MyAbstract”的对象
Visual Studio 2015 错误:
无法实例化抽象类
这是在线代码:http ://cpp.sh/3etnq
我在这里想念什么?!这有效:
for (auto it = myList.begin(); it != myList.end();)