-5
你好我已经做了一个项目,其中的一般想法是在地图上有一些船只,他们互相交互。这里有一个船类和主要。错误:没有构造函数的实例修复::修复匹配参数列表(C++)
类修复:(包括头文件,我需要)
Repairing::Repairing(World *minimap[][10], string a)
{
int temp1, temp2;
bool done = false;
totalgoldtraded=0;
totalgoldearned=0;
totaldmgdone=0;
totaldmgtaken=0;
totalmove=0;
reserve = 0;
maxStamina = 100;
stamina = 100;
speed = 2;
isPirate = false;
name = a;
srand(time(0));
while(done != true)
{
temp1 = (rand()%10);
temp2 = (rand()%10);
if((minimap[temp1][temp2]->checkShip() == false) && (minimap[temp1][temp2]->checkHarbor() == false) && (minimap[temp1][temp2]->getTreasure() == false))
{
posX = temp1;
posY = temp2;
minimap[temp1][temp2]->setShip(true);
done = true;
}
}
}
void Repairing::operation(Boat *ships[], World *minimap[][10])
{
int temp;
if (posX-1>=0)
{
for (int i=0; i<8; i++)
{
if (ships[i]->getPosX() == posX-1 && ships[i]->getPosY() == posY)
{
ships[i]->setStamina(10);
temp = ships[i]->getReserve();
temp /= -10;
totalgoldearned -= temp;
ships[i]->setReserve(temp);
temp *= -1;
reserve += temp;
cout << "The " << name << " ship has earned gold from repairing. " << endl;
}
break;
}
}
if (posX+1<=9)
{
for (int i=0; i<8; i++)
{
if (ships[i]->getPosX() == posX+1 && ships[i]->getPosY() == posY)
{
ships[i]->setStamina(10);
temp = ships[i]->getReserve();
temp /= -10;
totalgoldearned -= temp;
ships[i]->setReserve(temp);
temp *= -1;
reserve += temp;
cout << "The " << name << " ship has earned gold from repairing." << endl;
}
break;
}
}
if (posY-1>=0)
{
for (int i=0; i<8; i++)
{
if (ships[i]->getPosY() == posY-1 && ships[i]->getPosX() == posX)
{
ships[i]->setStamina(10);
temp = ships[i]->getReserve();
temp /= -10;
totalgoldearned -= temp;
ships[i]->setReserve(temp);
temp *= -1;
reserve += temp;
cout << "The " << name << " ship has earned gold from repairing. " << endl;
}
break;
}
}
if (posY+1<=9)
{
for (int i=0; i<8; i++)
{
if (ships[i]->getPosY() == posY+1 && ships[i]->getPosX() == posX)
{
ships[i]->setStamina(10);
temp = ships[i]->getReserve();
temp /= -10;
totalgoldearned -= temp;
ships[i]->setReserve(temp);
temp *= -1;
reserve += temp;
cout << "The " << name << " ship has earned gold from repairing." << endl;
}
break;
}
}
}
`
,这里是主要的:
int randNumber(int x)
{
int temp;
temp = rand()%x + 1;
return temp;
}
int main()
{
srand((unsigned)time(0)); //Thats a must for our random numbers!
int i, j, temp;
World minimap[10][10]; //Array with World objects!
Boat *ships[8]; // Array that points the boat objects!
for(i=0; i<10; i++) //Initialize the World Array Objects!
{
for(j=0; j<10; j++)
{
temp = randNumber(10);
minimap[i][j].setProperties(temp);
cout << minimap[i][j].getWeather() << endl;
}
}
Repairing pirate_one(&minimap, "First Pirate");
//Exploring ex(minimap, "First Exploring");`
}
遗憾的坏后presentation.My问题是,Visual Studio的C++ 2010显示我没有构造函数Repairing :: Repairing的实例匹配参数列表(此问题存在于& minimap中)。尽快解答
_“请尽快回答”_ Monster DV磁铁。 – 2015-01-15 16:18:58
你没有清楚描述你的问题。我甚至无法理解这个问题以及你所尝试过的。一个权利,它失踪了。 Downvoting。 – usr1234567 2015-01-15 16:20:24
修复了 – 2015-01-15 16:28:31