Oppure

Loading
17/05/10 10:16
Babbolsort
Salve,
ho un problema nella compilazione di una classe C++:
creo un file .h con SOLO la dichiarazione dei prototipi della classe:
#ifndef _CARS_H
#define	_CARS_H

class cars
{

private:
    double efficienza;
    double distanza;
    double gas;

public:
    cars();
    cars(double e);
    double get_gas();
    double add_gas(double g);
    double drive(double d);

}

#endif	/* _CARS_H */


Poi un .cpp con le dichiarazioni delle funzioni membro:
#include "cars.h"

cars::cars() {};

cars::cars(double e){};

double cars::add_gas(double g){};

double cars::drive(double d){};

double cars::get_gas(){};


ed il main.cpp , vuoto, solo per provare che i precedenti sorgenti funzionino correttamente:
#include <iostream>
#include"cars.h"
using namespace std;

int main() {

    return 0;
}


La compilazione del main genera il seguente errore:
/usr/bin/make -f nbproject/Makefile-Debug.mk SUBPROJECTS= .build-conf
make[1]: ingresso nella directory «/home/david/NetBeansProjects/SimulaMacchina»
/usr/bin/make  -f nbproject/Makefile-Debug.mk dist/Debug/GNU-Linux-x86/simulamacchina
make[2]: ingresso nella directory «/home/david/NetBeansProjects/SimulaMacchina»
mkdir -p build/Debug/GNU-Linux-x86
rm -f build/Debug/GNU-Linux-x86/cars.o.d
g++    -c -g -MMD -MP -MF build/Debug/GNU-Linux-x86/cars.o.d -o build/Debug/GNU-Linux-x86/cars.o cars.cpp
cars.h:4: error: new types may not be defined in a return type
cars.h:4: note: (perhaps a semicolon is missing after the definition of ‘cars’)
cars.cpp:3: error: return type specification for constructor invalid
make[2]: *** [build/Debug/GNU-Linux-x86/cars.o] Errore 1
make[2]: uscita dalla directory «/home/david/NetBeansProjects/SimulaMacchina»
make[1]: *** [.build-conf] Errore 2
make[1]: uscita dalla directory «/home/david/NetBeansProjects/SimulaMacchina»
make: *** [.build-impl] Errore 2
BUILD FAILED (exit value 2, total time: 179ms)



Dov'è il problema? :d
Grazie in anticipo a chi risponderà, a presto :hail: :hail: :hail: :hail: :hail:
aaa
17/05/10 10:53
nessuno
In cars.h alla fine della dichiarazione della classe manca il ;
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
17/05/10 16:33
Babbolsort
Postato originariamente da nessuno:

In cars.h alla fine della dichiarazione della classe manca il ;

Oh mamma mia... Ci stavo impazzendo da ore! Ti ringrazio :)
aaa