问题描述
P* pFactory(const std::string& pName){
if (p == "s")
SP newP;
else if(pName == "f")
FP newP;
else if(pName == "l")
LP newP;
else if(pName == "i")
IP newP;
else if(pName == "g")
GP newP;
else if (pName == "n")
NP newP;
P* p_ptr = &newP;
return nullptr;
}
基本上,该函数应该返回一个指向新的P对象的指针,该对象取决于pName输入。我在指针行上遇到了使用未声明的标识符'newP'的错误。
我认为可能是因为没有其他终结符,所以可能永远不会创建该对象,但是如果用else替换最后一个对象没有帮助。是什么导致此错误?
编辑:
P* newP = nullptr;
if (pName== "s")
newP = new SP;
else if(pName == "f")
newP = new FP;
else if(pName == "l")
newP = new LP;
else if(pName == "i")
newP = new IP;
else if(pName == "g")
newP = new GP;
else if (pName == "n")
newP = new NP;
return newP;
这项工作吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)