Aiuto per novellino! Errore strano...

di Anonimizzato13424 il
8 risposte
Ciao a tutti, sto ripescando la mia vecchia passione per la programmazione ,e sto cominciando a studiare il c++ con "teach yourself c++ in 21 days".
Sono al day 5... dopo 10 giorni e mi sono trovato a digitare e studiare un listato che però alla compilazione dà errore:
expected unqualified-id before 'int'
e
'y' was not declared in this scope

sto utilizzando ubuntu 13.10, con (immagino) g++ come compilatore, e code::blocks come ide.
Su internet non ho trovato riferimenti al problema. Ho modificato leggermente il listato originale usando << endl al posto di << "\n" , per il resto è identico.

#include <iostream>

using namespace std;

void swap(int x, int y);

int main()
{
int x = 5, int y = 10;

cout << "Main. before swap, x: " << x << " y: " << y << endl;
swap(x,y);
cout << "Main. After swap, x: "<< x << " y: "<< y << endl;
return 0;
}

void swap (int x, int y)
{
int temp;
cout << "Swap. Before swap, x: " << x << " y: " << y << endl;

temp = x;
x = y;
y = temp;

cout << "swap. afeter swap, x: " << x << " y: " << y << endl;

}

grazie per ogni eventuale consiglio almeno se ho sbagliato qualcosa, o se sono state apportate modifiche al linguaggio negli ultimi anni potrò aggiornarmi grazie a voi
Stefano

8 Risposte

  • 
    int x = 5, y = 10;
    
    P.S.
    La swap non è efficace scritta in quel modo.
  • Posso chiederti cosa intendi dire?
  • Beh, prova la tua swap e vedi che succede. Poi prova questa e vedi che succede.
    
    void swap (int & x, int &y) {
       int temp = x;
       x = y;
       y = temp;
    }
    
  • Non cambia nulla... stesso errore...
  • A parte quello che giustamente ti ha detto shodan, devi scrivere

    int x = 5, y = 10;

    e non

    int x = 5, int y = 10;
  • Aaaaaah! eccco!!! Mannaggia! Grazie!

    ho dovuto togliere anche gli & per farlo compilare correttamente.
    Grazie mille! Posso continuare!
  • Ma quali & ?

    Quelli che ti ha suggerito shodan?
    Leggi bene quello che ti ha suggerito shodan altrimenti non funzionerà il tuo programma ...
  • Comunque, il c++ non si impara in 21 giorni, a meno che non sei già ferratissimo col c e devi solo imparare le differenze di sintassi e la programmazione a oggetti.

    Forse in 210 sarebbe più fattibile.

    ciao
Devi accedere o registrarti per scrivere nel forum
8 risposte