【发布时间】:2012-09-04 00:36:25
【问题描述】:
感谢阅读,我的问题是这是否正确编码:
test1.cpp:
void Load(OBJECTSTRUCT* gObj)
{
char * VipType = VipTypeCheck(gObj->m_Index);
MsgOutput(gObj->m_Index,"[%s] Welcome",VipType);
}
test2.cpp:
char* VipTypeCheck(int aIndex)
{
switch (VipSystem[aIndex].VIP_Type)
{
case 0:
return "Regular";
break;
case 1:
return "Bronze";
break;
case 2:
return "Gold";
break;
case 3:
return "Diamond";
break;
default:
return "[Error]";
break;
}
return "[Error]";
}
它有效,但我的问题是,这会导致分段错误/堆栈溢出或任何其他类型的错误吗?我知道我没有分配动态内存,但我怀疑变量 char *VipType 是否可以。谢谢,很抱歉这个菜鸟问题。
【问题讨论】:
-
在 switch 中返回后你真的不需要休息。很多编译器都会对此发出警告。
标签: c++ function pointers character