2016-01-20 97 views
-1

我有許多結構類型的現有陣列的C++查找表返回類型結構的現有陣列

typedef struct Patterns 
{ 
    int a; 
    int b; 
    int c; 
} 

的陣列命名如下

arr0,ARR1,ARR2 ,arr3,arr4等

我傳遞一個整數值,並希望用它來查找所需的數組,並將其複製到臨時數組中。

即int 0對應於數組arr0等等。

我試圖用「地圖」的方法,但我碰到的錯誤分配陣列整數鍵

std::map<int, Patterns[]>map1; 

map1[0] = arr0; 
map1[1] = arr1; 

我在做什麼錯了,當「表達必須修改的左值」?有沒有更簡單的方法來快速查找我需要使用哪個陣列?

+0

你考慮一個'的std ::地圖<整型,性病::矢量>'? – 5gon12eder

+2

如果您正在使用數組,爲什麼不繼續使用指針數組? –

+0

你能提供你當前的數組定義嗎? – Roberto

回答

1

使用向量不是數組。你真的不能創建一個模式[]的地圖。

你應該有

vector<vector<Pattern>> arrays; 

arrays[0] = arr0; 
arrays[1] = arr1;