最赞回答 / 我呵呵了
如果if(!pNeedStack->pop(currentNeed)){currentNeed=0;} 括号里面的条件是false,就相当于!pNeedStack->pop(currentNeed) 这句话是错的,注意前面的“!”,这句话要是错的,那么pNeedStack->pop(currentNeed) 就为真, 这句话本身也是一个出栈的操作,所以说,如果是真的话,会有东西出栈的,存到了currentNeed中。
2016-05-28
最赞回答 / 慕村3311326
这据说是VC的一个经典BUG。和namespace也有关. 只要含有using namespace std; 就会提示友员函数没有访问私有成员的权限。 解决方法:去掉using namespace std;换成更小的名字空间。 using std::endl; using std::cout;using std::ostream;或者将重载运算符函数放在Coordinate类中去定义。亲测两种均有效
2016-05-27
最赞回答 / qq_新欢_2
最后应该写成delete pStack;,我看你写成delete []pStack; 看来你和我一样,一开始以为这个是五个长度的数组了所以加了[]试试吧,我改过这个就对了
2016-04-30