[C++]Problema con parametro di funzione
Ho scritto una classe che vuole, nel costruttore, le funzioni per l'input e l'output di un carattere.
Nella dichiarazione dei membri pubblici ho inserito le dichiarazioni
Nel costruttore assegno le funzioni passate come argomento a quelle che uso all'interno
Va tutto bene ma quando provo a chiamare (all'interno della classe)
Mi da l'errore di compilazione
A me questa cosa sembra strana.
C'è modo per rimediare a questo problema?
- Codice: Seleziona tutto
LineEditor(int (*leggiChFnc)(void),void (*scriviChFnc) (char ch));
Nella dichiarazione dei membri pubblici ho inserito le dichiarazioni
- Codice: Seleziona tutto
int (*leggiCh)(void);
void (*scriviCh)(char ch);
int (*leggiChFnc)(void);
void (*scriviChFnc)(char ch);
Nel costruttore assegno le funzioni passate come argomento a quelle che uso all'interno
- Codice: Seleziona tutto
void LineEditor::begin(int (*leggiChFnc)(void), void (*scriviChFnc)(char ch)) {
clearData();
leggiCh = leggiChFnc;
scriviCh = scriviChFnc;
}
Va tutto bene ma quando provo a chiamare (all'interno della classe)
- Codice: Seleziona tutto
scriviCh("\r");
Mi da l'errore di compilazione
- Codice: Seleziona tutto
invalid conversion from 'const char*' to 'char' [-fpermissive]
A me questa cosa sembra strana.
C'è modo per rimediare a questo problema?