Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: material.cpp(137) : error C2061: syntax error : identifier 'key'

Author: Andrey Popov

Date: 04:42:53 06/22/05

Go up one level in this thread


On June 22, 2005 at 05:49:49, milix wrote:

>On June 22, 2005 at 05:39:13, Andrey Popov wrote:
>
>>When I tried to compile Fruit 2.1, I found the following error:
>>c:\frusrc\material.cpp(137) : error C2061: syntax error : identifier 'key'
>>c:\frusrc\material.cpp(137) : error C2066: cast to function type is illegal
>>c:\frusrc\material.cpp(137) : error C2107: illegal index, indirection not
>>allowed
>>c:\frusrc\material.cpp(137) : error C2102: '&' requires l-value
>>
>>in the following function:
>>
>>void material_get_info(material_info_t * info, const board_t * board) {
>>
>>   uint64 key;
>>   entry_t * entry;
>>
>>   ASSERT(info!=NULL);
>>   ASSERT(board!=NULL);
>>
>>   // probe
>>
>>   if (UseTable) {
>>
>>      Material->read_nb++;
>>
>>      key = board->material_key;
>>      entry = &Material->table[KEY_INDEX(key)&Material->mask];//error line 137
>>
>>      if (entry->lock == KEY_LOCK(key)) {
>>
>>         // found
>>
>>         Material->read_hit++;
>>
>>         *info = *entry;
>>
>>         return;
>>      }
>>   }
>>What is the reason and how to avoid this error?
>
>What is the definition of the (macro?) KEY_INDEX?

#define KEY_INDEX(key) (uint32(key))

This definition is in "hash.h" file.




This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.