warning: comparison between
[ ]$ g++ -Wall -g hashphonedirectory.cpp -o hashphonedirectory
hashphonedirectory.cpp: In member function âint File::Hash(char*)â:
hashphonedirectory.cpp:16: warning: comparison between signed and unsigned integer expressions
hashphonedirectory.cpp: At global scope:
hashphonedirectory.cpp:214: warning: ISO C++ forbids declaration of âmainâ with no type
-------------------------------------------------------
CODE ERROR
int File::Hash(char *
{
for(xorin = 0; strlen( >= unit; s+= unit) //xoring
xorin ^= * (unsigned *) s;
if(strlen (s) ) {
strcpy ((char *)&remainder, s);//character
xorin ^= remainder;
}
return (xorin % tableSize) * bucketSize * recordLen;
}
Re: warning: comparison between
Code:
int File::Hash(char *
{
Code:
for(xorin = 0; strlen( >= unit; s+= unit) //xoring
You are missing something here... ;)
btw... never use something like strlen in a for loop, because it will calculate the length EVERY iteration. So if you loop it 100 times it will calculate the length 100 times...
Re: warning: comparison between
I miss the (s)
but what do you suggest instead of strlen?
Re: warning: comparison between
Quote:
Originally Posted by
olove
I miss the (s)
but what do you suggest instead of strlen?
You can use strlen. You just shouldn't use it inside the loop condition. Calculate the string length before the for statement and then use the calculated value.