Opino lo mismo que el usuario de arriba. No necesitas ningún parametro en la función repetir, si te fijas no has usado ninguna de las funciones declaradas dentro de la función.
Estás llamando mal a la función, y usando demasiado el std:: esto lo simplificas escribiendo using namespace std; después de incluir iostream.
RESULTADO:
Código C++:
Ver original#include <iostream>
using namespace std;
//Este programa tiene que preguntar unos datos y te dice una carta.
bool repetir()
{
char respuesta;
bool repetir;
cout << "¿Quieres realizar más búsquedas?" << endl;
cin >> respuesta;
if(respuesta =='s')
repetir=true;
if(respuesta =='n')
repetir =false;
return repetir;
}
int main() //Te recomiendo que declares a main com int siempre
{
int palo;
int carta;
bool repeticion;
do
{
cout << "Introduce el palo" << endl << " 1-bastos\n 2-oros\n 3-copas\n 4-espadas\n";
cin >> palo;
cout << "\nIntroduce el numero de la carta\nDel 1 al 13\n";
cin >> carta;
cout << "\n";
switch ( carta )
{
case 1 : cout << "As de";break;
case 2 : cout << "Dos de";break;
case 3 : cout << "Tres de";break;
case 4 : cout << "Cuatro de";break;
case 5 : cout << "Cinco de";break;
case 6 : cout << "Seis de";break;
case 7 : cout << "Siete de";break;
case 8 : cout << "Ocho de";break;
case 9 : cout << "Nueve de";break;
case 10 : cout << "Diez de";break;
case 11 : cout << "Jota de";break;
case 12 : cout << "Reina de";break;
case 13 : cout << "Rey de";break;
default : cout << " Numero no existente";break;
}
switch ( palo )
{
case 1 : cout << " bastos.\n\n\n\n\n";break;
case 2 : cout << " oros.\n\n\n\n\n";break;
case 3 : cout << " copas.\n\n\n\n\n";break;
case 4 : cout << " espadas.\n\n\n\n\n";break;
default : cout << " Palo no existente\n";break;
}
repeticion=repetir();
}while(repeticion);
/* Si la función repetir devuelve true no es necesario decir repeticion == true, solo se pasa el valor y ya*/
}