Rpg˛S Forum uses cookies. Read the Privacy Policy for more info. To remove this message, please click the button to the right:    I accept the use of cookies

Vai al contenuto

Rpg˛S Forum uses cookies. Read the Privacy Policy for more info. To remove this message, please click the button to the right:    I accept the use of cookies

Screen Contest #90

Kamikun






  • Si prega di effettuare il log in prima di rispondere
[C++] Errore con una funzione void e uno struct

    Zocchina
  • Vegliardo di Rpg2S

  • Utenti
  • Rens: 48
  • 1
  • StellettaStelletta
  • 108 messaggi
  • Sesso:Maschio
  • Provenienza:Orto
  • Abilitā:Esperto

#1 Inviato 14 December 2017 - 16:18 PM

Salve ragazzi come va? ;)
 
Sto sviluppando un gioco (console) in c++.
 
Il gioco è un'avventura testuale in cui bisogna creare il proprio personaggio e affrontare un mondo fantastico.
 
Qui sotto c'è la parte di codice che non funziona:

 

Spoiler

 

Mi dispiace per la formattazione ma c'è solo il BBCode di ruby.

 

La funzione dovrebbe inizializzare le statistiche inserendo i loro nomi e i loro valori ma quando ci provo mi da questi due errori:

 

 

 

1.[Error] invalid initialization of non-const reference of type 'plyr&' from an rvalue of type 'plyr*'

2.[Error] in passing argument 1 of 'void RESET_STATS(plyr&)'

 

Come posso risolvere?

 

Grazie in anticipo  :biggrin:

 

EDIT: Ho modificato diviso le funzioni con dei commenti nel codice


Modificato da Zocchina, 14 December 2017 - 16:20 PM.

 I miei script per RPG Maker Vx Ace:

 

 

 


    Dax
  • C'č pių gioia nel dare che nel ricevere

  • Rpg˛S Admin
  • Rens: 838
  • 7
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 4553 messaggi
  • Sesso:Maschio
  • Provenienza:Nord Sud Ovest Est
  • Abilitā:Maestro


#2 Inviato 14 December 2017 - 16:36 PM

a naso direi che va scritto "plyr& giocatore", cmq non vedo le funzioni reset stat Oo

prova a non usare l'operatore & in primis, e controlla di aver tutte le funzioni xD

 

edit:  Pat suggerisce di non esagerare con gli &. tu gli passi una referenza e poi alla funzione dici come argomento di usare la referenza. di una referenza. si impalla xD Cn una struct non dovresti aver bisogno di usarlo.


Membro Segreto della
Vecchia Guardia del Making [Gif in fase di reload]

SCContest1Oct.gif[icona di un premio]

tgSY1j0.pnggifnatale1.pnggifnatale12.png


    alkasel
  • Elfo di Babbo Natale

  • Utenti
  • Rens: 53
  • 6
  • StellettaStellettaStelletta
  • 264 messaggi
  • Sesso:Maschio
  • Provenienza:Italia, Lucca
  • Abilitā:Apprendista

#3 Inviato 14 December 2017 - 23:53 PM

Ma più che altro... il compilatore non dice anche la riga dell'errore?
Inoltre come dice Dax un errore riguarda la reset_stats, ma se non includi la dichiarazione e definizione della reset_stats si ragiona peggio.
 
Ad ogni modo sono un po' arrugginito col c++, ma mi fa strano vedere la dichiarazione

void RESET_STATS(plyr&)

Hai provato invece a mettere

void RESET_STATS(plyr*)

?


Obiettivo della nostra vita sia lasciare il mondo migliore di come l'abbiamo trovato.

Dietro ad ogni grande uomo c'è una grande donna
 

(non so se si vede ma mi piacciono le frasi epiche xD)
 

Chi sono?


    Zocchina
  • Vegliardo di Rpg2S

  • Utenti
  • Rens: 48
  • 1
  • StellettaStelletta
  • 108 messaggi
  • Sesso:Maschio
  • Provenienza:Orto
  • Abilitā:Esperto

#4 Inviato 15 December 2017 - 17:31 PM

a naso direi che va scritto "plyr& giocatore", cmq non vedo le funzioni reset stat Oo

prova a non usare l'operatore & in primis, e controlla di aver tutte le funzioni xD

 

edit:  Pat suggerisce di non esagerare con gli &. tu gli passi una referenza e poi alla funzione dici come argomento di usare la referenza. di una referenza. si impalla xD Cn una struct non dovresti aver bisogno di usarlo.

 

reset stats è stato un errore di trascrizione...  :blush:

La riga 61 quindi è:

STATS_TO_ONE(&giocatore);

Se non uso la & (come puoi vedere nello screen) i cambiamenti non vengono apportati allo struct  :nono:

 

Spoiler

 

 

Ma più che altro... il compilatore non dice anche la riga dell'errore?
Inoltre come dice Dax un errore riguarda la reset_stats, ma se non includi la dichiarazione e definizione della reset_stats si ragiona peggio.
 
Ad ogni modo sono un po' arrugginito col c++, ma mi fa strano vedere la dichiarazione

void RESET_STATS(plyr&)

Hai provato invece a mettere

void RESET_STATS(plyr*)

?

 

Sì la dice:

Riga 61:[Error] invalid initialization of non-const reference of type 'plyr&' from an rvalue of type 'plyr*'

Riga 32:[Error] in passing argument 1 of 'void RESET_STATS(plyr&)'

 

Ho provato, se metto RESET_STATS(plyr*) mi da un errore ad ogni assegnazione nella funzione.

Se vuoi ti scrivo che errore mi da.

 

=====================================================================================================================================

 

La cosa strana è che ho programmato un'altra funzione che usa (plyr&) ma quest'altra va, ho pure provato ad eliminare quella funzionante per vedere se andava in conflitto con STATS_TO_ONE ma niente.

 

La funzione che parte è questa:

 

Spoiler

 

La funzione ne comprende altre al suo interno, non credo serva ma se ce n'è il bisogno le posto.

Grazie mille per le risposte  :biggrin:


 I miei script per RPG Maker Vx Ace:

 

 

 


    Dax
  • C'č pių gioia nel dare che nel ricevere

  • Rpg˛S Admin
  • Rens: 838
  • 7
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 4553 messaggi
  • Sesso:Maschio
  • Provenienza:Nord Sud Ovest Est
  • Abilitā:Maestro


#5 Inviato 15 December 2017 - 17:35 PM

oddio indentaaaa xD

ma come la richiami? con la & commerciale o senza? per curiosità xD


Membro Segreto della
Vecchia Guardia del Making [Gif in fase di reload]

SCContest1Oct.gif[icona di un premio]

tgSY1j0.pnggifnatale1.pnggifnatale12.png


    Zocchina
  • Vegliardo di Rpg2S

  • Utenti
  • Rens: 48
  • 1
  • StellettaStelletta
  • 108 messaggi
  • Sesso:Maschio
  • Provenienza:Orto
  • Abilitā:Esperto

#6 Inviato 15 December 2017 - 17:44 PM

oddio indentaaaa xD
ma come la richiami? con la & commerciale o senza? per curiosità xD

 
GRAZIE!!! xD
 
L'errore stava nel fatto che richiamavo la funzione con STATS_TO_ONE(&giocatore) quando invece dovevo scrivere STATS_TO_ONE(giocatore)

 

Grazie mille ancora, mi stavo scervellando da giorni e non trovavo l'errore xD


 I miei script per RPG Maker Vx Ace:

 

 

 





  • Feed RSS