![]() |
| ||
| compile error-chained hash table c++ i'm trying to create a chained hash table using a linked list header file, but there's a problem with my insert function. here's the relevant portion. the error comes in the part that is in red. compiler says "parse error before '.' " i've used the linked list header before, so i know it works. also, if i take the line in question & replace LinkedList.add(value) with 25 (for example) it works fine - of course, it just inserts it in the hash table array. i think i'm using the LinkedList.add() function incorrectly. can anyone help? #include "linkedlist.h" int main() { HashTable Hash7(7); LinkedList MyList; Hash7.Insert(8); system("PAUSE"); return 0; } bool HashTable::Insert(const Item &value){ int Pos = HashFunction(value); //LinkedList.add(3); gave same error //MyList.add(value); gave error "MyList undeclared" MyTable[Pos].status = Occupied; MyTable[Pos].value = LinkedList.add(value); cout<<"value in pos "<<Pos<<" is "<< MyTable[Pos].value<<endl; } |
| ||
| Re: compile error-chained hash table c++ LinkedList is a class, not a variable. It's sort of like saying int = 4; LinkedList MyList; MyList.add( value ); // this would work LinkedList.add(value); // this wont Also, you have a comments saying MyList.add(value) doesn't work in the Insert() function. That's because MyList is declared in the main function. The basic rule is that any variable inside brackets ( {} ) is only visible inside those brackets. So move MyList outside main() if you want to access it elsewhere, or pass it in as a parameter. |
| All times are GMT -4. The time now is 3:00 pm. |
Forum system based on vBulletin Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
©2003 - 2009 DaniWeb® LLC