1
好的,我的指針技能有點差。我創建了我自己的簡單地圖容器,其中可以存儲不同的數據類型。我試圖創建insertPair()
方法,其中一個結構存儲在一個指針數組中,但我正在努力的語法。我創建了一個結構,並試圖將a
的值指定爲temp.key
和b
至temp.value
。我如何做到這一點,並將結構存儲在指針數組中? ive在main()
中創建了test
對象,並通過了int
和string
。任何指導極大的讚賞。謝謝如何使用模板將結構存儲在指針數組中
template <typename K, typename V>
class CMyMap
{
int arraysize;
CMyMap* myArr[5];
public:
struct pair
{
K key;
V value;
};
CMyMap()
{
arraysize = 0;
}
void insertPair(K a, V b)
{
pair* temp = new pair;
temp->key = a;
temp->value = b;
myArr[0] = temp; // trying to store the values of temp.key and temp.value to myArr[0]
}
void display()
{
// dont how to display the key and value correctly.
cout << myArr[0] << endl;
}
};
int main()
{
CMyMap<int, string> test;
test.insertPair(23, "bob");
test.display();
cin.get();
}
幾個問題:什麼是'map'?爲什麼你有一個沒有返回類型的'map()'方法?您已經聲明瞭一個指針,但是當它應該是' - >'時,使用'.'運算符訪問方法。在構造函數內部聲明一個新變量而不是修改數據成員。 'temp'是指向一對的指針,但是你將它分配給一個* map *'*的數組,它不兼容... – 0x499602D2 2014-11-01 01:15:29
對不起,我更改了類名而未更新它的構造函數。我修改了代碼。 (地圖是舊的類名) – user3424696 2014-11-01 01:26:01