我有嵌套结构,其中基类有一个纯虚函数。
(下面的例子有点伪,但描述了目的)
struct Base {
int id=0;
virtual std::wstring toString() = 0;
}
struct Top1 : public Base {
id=1;
int val = 5;
std::wstring toString() { return L"need to use string stream. id="+id+" val="+val; }
}
struct Top2 : public Base {
id=2;
std::string val = "Hello!";
std::wstring toString() { return L"need to use string stream. id="+id+" val="+val; }
}
Run Code Online (Sandbox Code Playgroud)
我希望为所有不同类型创建一个表,所以我创建了这个:
struct BaseFootprint{
union{
Top1 top1;
Top2 top2;
}
std::vector<BaseFootprint> data;
Run Code Online (Sandbox Code Playgroud)
通过以下方式调用该函数不起作用:
for(int i=0;i<data.size;i++){
std::cwout <<data[i].toString()<< std::endl;;
}
Run Code Online (Sandbox Code Playgroud)
我努力了: …