PDA

Visualizza la versione completa : [C++] errore di compilazione


sir daniel
27-01-2010, 00:01
Non capisco perchŔ non riesco a compilare questo programma!

ccms_main.h


//Classe principale

#include <string>
using std::string;

class ccms_main
{
public:
ccms_main( float ); //costruttore
void setData( float ); //prototipo setData()
float getData(); //prototipo getData()
void displayMessage(); //prototipo displayMessage()

private:
float versione;
};


ccms_main.cpp


//definizione classe ccms_main
#include "../h/ccms_main.h"
#include <iostream>
using std::cout;
using std::endl;

ccms_main::ccms_main( float dato )
{
setData( dato );
}

void ccms_main::setData( float dato )
{
versione = dato;
}

float ccms_main::getData()
{
return versione;
}

void ccms_main::displayMessage()
{
cout << "RuC++ " << getData() << " - Copyright 2009/2010 Nicola Mustone" << endl;
cout << "http://www.sirdaniel.altervista.org" << endl;
}


ruc++.cpp


#include <iostream>
using std::cout;
using std::cin;
using std::endl;

#include "classes/h/ccms_main.h"

int main()
{
ccms_main prova1( 8.0 );
ccms_main prova2( 9.0 );

cout << prova1.displayMessage() << endl;
cout << prova2.displayMessage() << endl;

int a;
cin >> a;
return 0;
}


L'errore che mi da Ŕ questo


Compilazione in corso...
ccms_main.cpp
ruc++.cpp
e:\sir daniel\c++\ruc++\ruc++.cpp(13) : error C2679: '<<' binario: non Ŕ stato trovato alcun operatore che accetti un operando destro di tipo 'void'. ╚ anche possibile che non vi siano conversioni accettabili.
e:\programmi\microsoft visual studio 9.0\vc\include\ostream(653): potrebbe essere 'std::basic_ostream<_Elem,_Traits> &std::operator <<>(std::basic_ostream<_Elem,_Traits> &,const char *)' [trovato utilizzando una ricerca dipendente dall'argomento]
with
[
_Elem=char,
_Traits=std::char_traits
]
e:\programmi\microsoft visual studio 9.0\vc\include\ostream(700): o 'std::basic_ostream<_Elem,_Traits> &std::operator <<>(std::basic_ostream<_Elem,_Traits> &,char)' [trovato utilizzando una ricerca dipendente dall'argomento]
with
[
_Elem=char,
_Traits=std::char_traits
]
e:\programmi\microsoft visual studio 9.0\vc\include\ostream(738): o 'std::basic_ostream<_Elem,_Traits> &std::operator <<>(std::basic_ostream<_Elem,_Traits> &,const char *)' [trovato utilizzando una ricerca dipendente dall'argomento]

[...]

durante la ricerca di corrispondenza con l'elenco di argomenti '(std::ostream, void)'
Generazione del codice in corso...

Risultati


Il log di compilazione Ŕ stato salvato in 'file://e:\SiR DanieL\C++\RuC++\RuC++\Debug\BuildLog.htm'
RuC++ - 2 errore/i, 0 avviso/i

oregon
27-01-2010, 00:05
Se il metodo displayMessage Ŕ void, non puoi utilizzarlo nella cout ... non viene restituito un dato da visualizzare ...

sir daniel
27-01-2010, 00:08
cavolo! giustamente!
Non me ne ero proprio accorto. Sto un p˛ arrugginito con il C++, l'ho lasciato da troppo.
Grazie per l'aiuto e per la velocitÓ, ora ho compilato e funziona!

Loading