Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [C++] errore di compilazione

    Non capisco perchè non riesco a compilare questo programma!

    ccms_main.h
    codice:
    //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
    codice:
    //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
    codice:
    #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:perator <<>(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:perator <<>(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:perator <<>(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:stream, 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

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Se il metodo displayMessage è void, non puoi utilizzarlo nella cout ... non viene restituito un dato da visualizzare ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    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!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.