C++ shadows a parameter? [hjälp]
Hej, jag håller då på att lära mig c++ har läst om det ett litet tag nu bara kanske 4 veckor. Så jag tänkte bara för skoj skull göra ett simpelt, text-baserat spel. Men jag har fått en error som jag inte förstår mig på riktigt vad den menar med det. Den säger "declaration of 'std::string nickname' shadows a parameter." Kan någon förklara för mig vad den menar? Här är en liten bit av menyn till spelet, jag vet om att där är fel lite här och var i min kod, men jag har inte kommit så långt så jag har fixat allt än Det mesta vet jag hur jag ska fixa och lite tänkande är inte fel, då man lär sig oftast då. Men jag har tänkt här och fattar inte så. Tack för hjälp på förhand! (Är hyfsat osäker på det här med att skicka variabler mellan funktioner så det kan vara fel (a))
// Inkluderar olika bibliotek som vi kommer ha användning av i spelet.
#include <cstdlib>
#include <iostream>
#include "stdlib.h"
#include <string>
// Förklarar att vi kommer använda oss utan namespace std.
using namespace std;
// Förklarar för kompilatorn att vi kommer använda en funktion vid namn "play" senare i koden.
// Skickar med oss en variabel till play funktionen från main.
void play(string& nickname);
// Main funktionen
// Skickar med oss en variabel till play funktionen från main.
int main(string& nickname)
{
// Main funktionens variabler.
int choice;
string back = "";
string nickname;
int goplay;
system ("TITLE TROKELE");
system ("COLOR 0A");
// Menyn och menyloopen.
while (1)
{
system ("CLS");
cout << "1. Play" << endl;
cout << "2. Instructions" << endl;
cout << "3. About" << endl;
cout << "4. Exit" << endl << endl;
cin >> choice;
switch (choice)
{
// Default case ifall inkorrekt siffra trycks in i menyn.
default:
{
if (choice != 1,2,3,4)
system ("CLS");
cout << "Error, " << choice << " is not a valid response." << endl;
cin >> back;
break;
}
// Spela spelet. Går vidare till spel funktionen.
case 1:
{
cout << "Please choose a name: " << endl;
cin >> nickname;
cout << "\nYou choose: " << nickname << "as name." << endl;
cout << "Are you ready to fight?";
cout << "If so then press 1";
cin >> goplay;
if (goplay == 1)
{
// Skickar spelaren till spelet.
// Skickar med oss en variabel till play funktionen från main.
play(string& nickname);
}
else
{
cout << "Write something to get to menu.";
cin >> back;
}
break;
}
// Instruktioner för spelet.
case 2:
{
system ("CLS");
cout << "UP = U" << endl << endl;
cout << "DOWN = J" << endl << endl;
cout << "LEFT = H" << endl << endl;
cout << "RIGHT = K" << endl << endl;
cout << "Write anything for menu" << endl << endl;
cin >> back;
break;
}
// Om spelet.
case 3:
{
system ("CLS");
cout << "This game is made by Fredrik 'GHARN' Dahl" << endl;
cout << "Version 1.0" << endl;
cout << "Write anything for menu" << endl;
cin >> back;
break;
}
// Avsluta spelet.
case 4:
{
exit(0);
return 0;
}
}
}
}