2011-10-17 5 views
3

J'apprends le C++ et je ne peux pas le compiler. Je suis nouveau en C++ alors supportez-moi s'il vous plaît.Erreur de compilation C++ avec Visual Studio

est ici un morceau de code avec l'erreur:

#include<iostream> 
#include<string> 
using namespace std; 

class Car { 

private: 
    int carId; 
    string mechanicName; 
    double cost; 

    public: 
     const static double MIN_COST; 
     Car(int, string = "Mike", double = MIN_COST); 
     void display(); 
}; 

const static double MIN_COST = 10.00; 
Car::Car(int id, string name, double amt) { 
    carId = id; 
    mechanicName = name; 
    cost = amt ; 
} 

void Car::display() { 
    cout << "Car #" << carId << " processed by " << 
    mechanicName << " Total due $" << cost << endl; 
} 

int main() { 
    cout << "Service: " << endl << "Cars Worked on Today" << 
    endl << endl; 
    cout << "Minimum cost $" << Car::MIN_COST << endl << endl; 
    Car car1(); 
    Car car2(321); 
    Car car3(456,"Amy"); 
    Car car4(567,"Jeremy",149.99); 
    car2.display(); 
    car3.display(); 
    car4.display(); 
    return 0; 
} 

Je reçois:

error LNK2020: unresolved token (0A000282) "public: static double const Car::MIN_COST" ([email protected]@@2NB) 

Merci

Répondre

18
const static double MIN_COST = 10.00; 

devrait être

const double Car::MIN_COST = 10.00; 
+0

merci, j'ai aussi trouvé quelque part que je devrais faire ceci 'Car (int, string =" Joe ", double = Car :: MIN_COST);' est-ce correct de le faire? –

+0

Oui, ça devrait marcher aussi. –

+0

Merci, j'apprécie –

Questions connexes