2011-10-27 13 views
0

私はちょうど出発して実施例ENUM内の値の配列ですか?

x[765] == SOMETHINGELSE; 
x[765].position == 43.5; 
x[765].somevar == 12; 
私は私の質問イム内の私の貧弱な文言をお詫びします

のために他の値を格納する方法を、私は例えばx[765] == SOMETHING使用現時点では、このコード

enum type {NOTHING, SOMETHING, SOMETHINGELSE} 
type *x; 

を持っていますC++で、私は欲しいものを知っています。私はそれを尋ねる方法を確信していません。

ありがとうございました。

+1

'=='比較演算子です。代入演算子が必要な場合は、それは単一の '= 'です。 – Troubadour

+2

あなたが始めているのであれば、本のリストの上級入門書をお勧めしますか? http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list –

+0

私はこれを実現しています。デモの目的で値の例を表示するだけです:) – Elgoog

答えて

2

「知識」を構成する方法を探しているかのように見えます。これは、構造体やクラスで行われます。

#include <vector> 

struct Info { 
    enum thingness { nothing, something }; 

    // 'member' variables 
    thingness howMuch; 
    int a_counter; 
    float position; 
}; 

int main(){ 
    Info object; 
    object.howMuch=Info::something; 
    object.a_counter=1; 
    object.position=5.4; 

グループ化でき、コンテナへのオブジェクトのこれらの種類 - 通常std::vector

// a container of InterestingValues 
    std::vector<Info> container(300); 

    container[299].howMuch=Info::nothing; 
    container[299].a_counter=4; 
    container[299].position = 3.3; 

    // or assign rightaway: 
    container[2] = object; 
} 
+0

私のコンパイラが戻ります: 'error :オブジェクトは型名を指定していません。 ' – Elgoog

+0

はい - #include文は追加しませんでした。私は今それらを追加します。 – xtofl

0

enumは、基本的にintの置換可能なラベルです。構造体またはクラスを定義する必要があります。

struct type 
{ 
    float position ; 

}; 

type var; 
var.position = 3.4; 
1

あなたは自分より複雑な形にする必要があります。

struct type 
{ 
    enum flag_type 
    { 
     NOTHING, SOMETHING, SOMETHINGELSE 
    } flag; 
    double position; 
    int somevar; 
}; 

以降、この新しいtype.

1

の配列は、自分でから学ぶための良い本を取得しています。良い本のリストはここにあります:The Definitive C++ Book Guide and List

あなたは構造の配列を宣言する方法を尋ねています。これを試してください:

struct type { 
    double position; 
    int somevar; 
}; 

type *x; 
x[765].position = 43.5; 
x[765].somevar = 12; 
0

タイプの列挙型は、他のフィールドとともにクラスのメンバーである必要があります。例えば、MyTypeインスタンス

MyType *x; 

の配列で

class MyType 
{ 
public: 
    type t; 
    double position; 
    int somevar; 
}; 

あなたは、あなたはあなたがに割り当てる

x[765].t = SOMETHINGELSE; 

を行う必要があるだろうと期待しており頼む何をすることができるだろう列挙型。

関連する問題