指针复制有关问题
指针复制问题
Node* Parser::getStmt()
{
Node* stmt = new Statement();
if (mach("if")) stmt->setChildNode(getIfStmt());
else if (mach("do")) stmt->setChildNode(getDoStmt());
else if (mach("while")) stmt->setChildNode(getWhileStmt());
else error(SYNATAX_ERROR);
return stmt;
}
Node * stmt;
stmt = getStmt();
报错 no viable overloaded '='
不知道为何 返回的指针应该没有错 难道指针的复制也要重载吗
------解决思路----------------------
Node* expr, stmt;
如果我没有记错,这个定义有误,第一个才是指针,第二个是类。
*号只对前者有效。
Node* Parser::getStmt()
{
Node* stmt = new Statement();
if (mach("if")) stmt->setChildNode(getIfStmt());
else if (mach("do")) stmt->setChildNode(getDoStmt());
else if (mach("while")) stmt->setChildNode(getWhileStmt());
else error(SYNATAX_ERROR);
return stmt;
}
Node * stmt;
stmt = getStmt();
报错 no viable overloaded '='
不知道为何 返回的指针应该没有错 难道指针的复制也要重载吗
------解决思路----------------------
Node* expr, stmt;
如果我没有记错,这个定义有误,第一个才是指针,第二个是类。
*号只对前者有效。