如果我有一个简单的程序如下: -
class Program
{
public:
my_func(void) \\ What return type do I use here??
{
switch (i) \\ assume i comes from somewhere...
{
case 1:
{
Glue g;
g.init();
return g;
}
case 2:
{
Wood w;
w.init();
return w;
}
....
}
}
}
有人可以告诉我如何将此函数的返回类型设置为在其中一个开关案例中创建的对象吗?同样由于时间限制,我不能使用 new/delete 来创建对象,否则我只会返回一个 void* ptr。在 switch 中创建的对象足够大,那么是否可以在每种情况下创建它们并返回对它们的引用,而不会超出范围?