所以..我正在用断言测试一个函数:(pBola1 的值为 1)
assert(BomboTest.TreureBola(1)==pBola1);
BomboTest.TreureBola 它是一个返回列表的随机数(在这种情况下必须返回 1)的函数。
cBola* cBombo::TreureBola(int num)
{
int posicio_aleatoria;
posicio_aleatoria= rand() % (num);
return(Boles.TreureElement(posicio_aleatoria));
}
TreureElement 它是一个函数,它返回动态列表的元素,知道您要提取的元素的位置(在这种情况下返回 'retorn' 是 1)
cBola* cLlista::TreureElement(int posicio)
{
int i;
cBola* recorreLlista;
cBola *retorn;
recorreLlista=primer;
retorn = primer;
i=0;
if (posicio == 0)
{
primer = (*primer).getSeguent();
}
else
{
// Busquem la posició //
while(i < posicio)
{
recorreLlista= retorn;
retorn = (*retorn).getSeguent();
i++;
}
(*recorreLlista).setSeguent( (*retorn).getSeguent() );
}
numElements--;
return retorn;
}
我不知道为什么,但断言失败了。我可以看到 TreureElement 返回的值,因为我有指针'retorn',但我不知道 TreureBola 返回的值。有什么方法可以在调试器中查看 TreureBola 返回的值?
PD:我正在使用 Visual Studio 2010