【发布时间】:2014-11-14 06:39:18
【问题描述】:
我想知道是否有办法让类/结构中的数组没有精确的设置值,所以当它被继承时,它可能具有与其他结构不同的值。在这个例子中:
struct foo
{
virtual int test[];
};
struct bar : foo
{
int test[3];
};
struct bars : foo
{
int test[5]
};
在此示例中,我尝试在 foo 类中定义一个具有 virtual 关键字的新 int 数组。如您所见,bar 的测试数组大小为 3,但在bars 的测试数组大小为 5。但是,当我尝试将 foo 继承到 bar 或 bars 时,它失败了并给我一个错误:invalid base class。
编辑:抱歉,我的帖子不是很清楚。我试图最好地解释一个未知大小的数组,但不知何故最终得到了一些更令人困惑的东西。另外,对于要说使用std::vector 的人,请重新阅读我上面的编辑
【问题讨论】:
-
virtual int test[];不是虚拟函数
标签: c++ arrays inheritance struct