2016-05-14 5 views
0

Carオブジェクトの色とノイズを印刷したいとします。私はCarクラス内でC++ 11のenumクラスを使用しようとしています。コンパイルするとエラーが発生します。Car :: ColorとCar :: Noiseはクラス、名前空間、スコープ付き列挙型ではありません。私は::演算子を使用してenumクラスにアクセスしています。しかし、エラーは続く。この問題は、Car.cppファイルにあるようです。ここに私のコードです。どんなアドバイスも大歓迎です。本当にありがとう。私は::演算子を使用していますが、enumクラスのエラーがクラス、名前空間、スコープ付き列挙型ではないというエラーが表示されます

Car.h

class Car { 
    public: 
     enum class Color {red, yellow, blue}; 
     enum class Noise {loud, soft, medium}; 
     void setColor(); 
     void setNoise(); 
     void getColor(); 
     void getNoise(); 
    private: 
     Color c; 
     Noise n; 
}; 

Car.cpp

#include<iostream> 
#include "Car.h" 

using namespace std; 
    void Car::setColor() { 
     c = Color::red; 
    } 
    void Car::setNoise() { 
     n = Noise::loud; 
    } 
    void Car::getColor() { 
     switch(c) { 
      case Color::red: cout << "red" << endl; 
      case Color::yellow: cout << "yellow" << endl; 
      case Color::blue: cout << "blue" << endl; 
      default: 
       cout << "error" << endl; 
     } 
    } 
    void Car::getNoise() { 
     switch(n) { 
      case Noise::loud: cout << "loud" << endl; 
      case Noise::soft: cout << "soft" << endl; 
      case Noise::medium: cout << "medium" << endl; 
      default: cout << "error" << endl; 
     } 
    } 

main.cppに

#include <iostream> 
#include "Car.h" 
int main() { 
    Car car; 
    car.setColor(); 
    car.setNoise(); 
    car.getColor(); 
    car.getNoise(); 
} 
+2

[私のための作品](http://rextester.com/NTPY7051) –

+1

どのコンパイラを使用しますか? – user3159253

+0

うん、私は古いコンパイラを持っていると思う。それはやるよ – user6333082

答えて

0

私のコンパイラが時代遅れでした。すべては今働いている。

関連する問題