Date le classi inferiori sono in due file di intestazione separati e possono apparire in qualsiasi ordine:classi C++ prototipo conflitto
//TestB.h
class TestB; //Forward declaration for a later operator= in a centralised header
class TestA
{
const TestA&operator=(const TestB); //defined in Test.h
};
E:
//TestA.h
class TestA; //Forward declaration for a later operator= in a centralised heaer
class TestB
{
const TestB&operator=(const TestA); //defined in Test.h
};
Come devo fare per evitare il conflitto prototipo?
L'aiuto è apprezzato.
Chiedo scusa a tutti! Avevo intenzione di fare riferimento a riferimenti (e commerciali nell'operatore = argomenti - non avrei mai superato copiando semplici POD) e intendevo solo la questione dei conflitti di prototipazione! Immagino che vada a dimostrare l'importanza della correzione di bozze! Ho accettato la risposta dato il contesto originale (il mio errato).
Mi ero semplicemente voltato per alcuni minuti e non ero a conoscenza della colpa!
Cosa intendi per "conflitto prototipo"? –
Qui non c'è niente di sbagliato: funzionerebbe bene. Dovrai spiegare meglio l'errore e con codice reale. –
@Als: è possibile dichiarare funzioni che assumono tipi incompleti in base al valore; non puoi semplicemente definirli o chiamarli fino a dopo la definizione del tipo. –