DaniWeb IT Discussion Community

DaniWeb IT Discussion Community (http://www.daniweb.com/forums/index.php)
-   C++ (http://www.daniweb.com/forums/forum8.html)
-   -   compile error-chained hash table c++ (http://www.daniweb.com/forums/thread8731.html)

andremc Aug 1st, 2004 3:02 pm
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;

}

Chainsaw Aug 1st, 2004 4:32 pm
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