Problema con funzione

di Anonimizzato19397 il
9 risposte
Salve! Mi stavo cimentando nella creazione di un TRIS (tic tac toe) in c++.
Ma poi mentre programmavo mi esce fuori questo avviso di errore..

[Error] expected primary-expression before 'int'

Ecco il codice..
#include <iostream>
#include <string>
using namespace std;

char t[9]={0,1,2,3,4,5,6,7,8};//tabella del tris
string g1, g2;
int sceltag1,sceltag2;
char X,O;

void mostra_tabella(){
	
	
	cout<<"|"<<t[0]<<"|"<<t[1]<<"|"<<t[2]<<"|"<<endl;
	cout<<"|"<<t[3]<<"|"<<t[4]<<"|"<<t[5]<<"|"<<endl;
	cout<<"|"<<t[6]<<"|"<<t[7]<<"|"<<t[8]<<"|"<<endl;
}

void scelta(int i){
	
	for( i=0; i<=9; i++)	{
	
	if(sceltag1==t[i]){
		t[i]=X;
	}
	}//per il primo giocatore
	
	for( i=0; i<=9; i++)	{
	
	if(sceltag2==t[i]){
		t[i]=O;
	}
	}//per il secondo
}

int main(){
	cout<<"Ciao! Benvenuto al gioco TRIS"<<endl;
	cout<<"Inserisci il nome del primo giocatore: ";
	cin>>g1;
	cout<<"Ora inserisci il nome del secondo giocatore: ";
	cin>>g2; cout<<endl;
	
	cout<<g1<<" sara' la X"<<endl;
	cout<<g2<<" sara' la O"<<endl;
	
	mostra_tabella();
	
	cout<<"E' il turno di "<<g1<<": ";
	cin>>sceltag1;
	scelta(int i);
	mostra_tabella();
	
	system("PAUSE");
}
	

9 Risposte

  • Dicci almento in quale ambiente lavori, quale compilatore usi, chi ti da questo errore, eventualmente su che riga...
  • Lavoro su Dev-C++
    Errore sulla riga 49..
  • A parte che ti consiglio di cambiare compilatore, l'errore mi sembra evidente e ti suggerisco di ristudiare bene il capitolo relativo alle funzioni
    scelta(int i);
  • Che compilatore mi consigli?
    Comunque si, me lo ristudio bene perchè non capisco l'errore..
  • Cosa ci trovi nella riga

    scelta(int i);

    che non va?
  • Ecco la soluzione!
    Togli int i dalla funzione scelta(), dichiara all'interno della funzione per ogni ciclo for la i per il ciclo e sei apposto!
    Spiegato un'po male ma è corretto!

    Come detto da @candalaur ripassa le funzioni.^^
  • Esatto nei richiami delle funzioni si inserisce , se hai bisogno , una tua variabile nella funzione al fine di poterla utilizzare

    scelta(int i);

    nel richiamo infatti non si inserisce il tipo ma solamente la variabile
    scelta(i);

    e visto che non la hai nemmeno dichiarata dovresti farlo ti consiglio globalmente onde evitare errori
  • Vi ringrazio tutti, risolsi il problema la notte stessa ma non avvisai.
    Ora sto rifinendo ancora tutti gli aspetti del gioco (caso di pareggio, scelta per rigiocare, numero compreso tra 0 e .
Devi accedere o registrarti per scrivere nel forum
9 risposte