所以我一直試圖創建一個處理1000個鏈表的類,並且最初聲明瞭指向它們的指針。使用哈希表和鏈接列表的C++訪問衝突
這是我的問題直接處理代碼:在while循環
struct node
{
char name[40];
char numb[12];
node * next;
};
class hashTable
{
public:
//Creates a table of 1000 pointers to linked-list nodes
node * table[1000];
//Functions
void addNode(char name[40], char numb[12])
{
node * temp; //Initializes temp node as pointer
temp = new node; //Points temp node to a new node
int hash = h(g(name)); //The hash of the key (name) used to check nodes
temp = table[hash]; //sets the temporary node to the first node of the list
while (temp->next != 0)
{
//...
右邊是我得到的錯誤「訪問衝突讀取位置0xcccccd00」 我不知道爲什麼它可以」訪問表成員,除非可能是因爲這些值沒有被初始化或任何東西?
也許正是因爲這些值尚未初始化或什麼? – Thomas 2013-03-20 18:52:20
或散列> 1000? – Smash 2013-03-20 18:54:36
我會說這是從未初始化的內存偏移。由於0xcccccccc表示在VC調試模式下未初始化。 http://stackoverflow.com/questions/127386/in-visual-studio-c-what-are-the-memory-allocation-representations – drescherjm 2013-03-20 18:57:07