What is an unqualified-id ? 
October 20th, 2006, 08:35 PM
| | | What is an unqualified-id ?
Hello,
I've searched and searched and cannot seem to figure it out so I was
hoping someone could explain to me exactly what an unqualified-id is?
My compiler is generating this error...
ThreadLibMutex.h:37: error: expected unqualified-id before ')'
token
My line 37 is the top of this constructor...
Mutex(){
#ifdef WIN32
// we use critical sections in Windows
InitializeCriticalSection( &m_mutex );
#else
pthread_mutex_init( &m_mutex, 0 );
#endif
}
The class itself is defined immediately above and consists of....
class Mutex {
protected:
// define the base mutex types
#ifdef WIN32
CRITICAL_SECTION m_mutex;
#else
pthread_mutex_t m_mutex;
#endif
public:
inline void Lock() {
#ifdef WIN32
EnterCriticalSection( &m_mutex );
#else
pthread_mutex_lock( &m_mutex );
#endif
}
inline void Unlock() {
#ifdef WIN32
LeaveCriticalSection( &m_mutex );
#else
pthread_mutex_unlock( &m_mutex );
#endif
}
}; // end class Mutex
I've just never heard of an unqualified-id so I have no idea whats
wrong, but the code is looking perfectly legal to me.
Any advice appreciated, and again, thanks in advance!
Regards, | 
October 20th, 2006, 08:45 PM
| | | Re: What is an unqualified-id ?
DevNull wrote: Quote:
Hello,
I've searched and searched and cannot seem to figure it out so I was
hoping someone could explain to me exactly what an unqualified-id is?
>
My compiler is generating this error...
ThreadLibMutex.h:37: error: expected unqualified-id before ')'
token
>
My line 37 is the top of this constructor...
>
Mutex(){]
| I wouldn't be surprised if some Microsoft include file #define's
Mutex to be something. | 
October 20th, 2006, 08:45 PM
| | | Re: What is an unqualified-id ?
* DevNull: Quote:
Hello,
I've searched and searched and cannot seem to figure it out so I was
hoping someone could explain to me exactly what an unqualified-id is?
>
My compiler is generating this error...
ThreadLibMutex.h:37: error: expected unqualified-id before ')'
token
>
My line 37 is the top of this constructor...
>
Mutex(){
#ifdef WIN32
// we use critical sections in Windows
InitializeCriticalSection( &m_mutex );
#else
pthread_mutex_init( &m_mutex, 0 );
#endif
}
>
| What Ron Natalie said (look out! Microsoft macros everywhere! or, as Dan
Quayle would have said, Microsoft macroes everywhere!), plus, try using
the qualified id
Mutex::Mutex()
;-)
--
A: Because it messes up the order in which people normally read text.
Q: Why is it such a bad thing?
A: Top-posting.
Q: What is the most annoying thing on usenet and in e-mail? | 
October 20th, 2006, 08:55 PM
| | | Re: What is an unqualified-id ?
<snip> Quote:
What Ron Natalie said (look out! Microsoft macros everywhere! or, as Dan
Quayle would have said, Microsoft macroes everywhere!), plus, try using
the qualified id
>
Mutex::Mutex()
>
;-)
| </snip>
Nope that made things worse...
ThreadLibMutex.h:35: error: definition of implicitly-declared
'Mutex::Mutex()'
ThreadLibMutex.h:35: error: declaration of 'Mutex::Mutex()' throws
different exceptions
ThreadLibMutex.h:9: error: than previous declaration 'Mutex::Mutex()
throw ()'
Line 9 being where the Mutex class is located. Oh and ya can't blame
this one on MS, I'm compiling this code with GCC v4.0.3 it's just
supposed to be a simple little crossplatform wrapper :( If anyone is
interested I can post the complete source. It's only 49 lines of code
in total. | 
October 20th, 2006, 09:15 PM
| | | Re: What is an unqualified-id ?
DevNull wrote: Quote:
<snip> Quote:
>What Ron Natalie said (look out! Microsoft macros everywhere! or, as Dan
>Quayle would have said, Microsoft macroes everywhere!), plus, try using
>the qualified id
>>
> Mutex::Mutex()
>>
>;-)
| </snip>\
| Try sticking #undef Mutex
right before the affected line.
A unqualified id is one without :: in it.
Nothing inside a class definition should have a qualification. | 
October 20th, 2006, 09:25 PM
| | | Re: What is an unqualified-id ? Quote:
Nope that made things worse...
ThreadLibMutex.h:35: error: definition of implicitly-declared
'Mutex::Mutex()'
ThreadLibMutex.h:35: error: declaration of 'Mutex::Mutex()' throws
different exceptions
ThreadLibMutex.h:9: error: than previous declaration 'Mutex::Mutex()
throw ()'
| Listen to your compiler, not the MS bashers.
Declare the constructor in your class definition. . .
Michael | 
October 20th, 2006, 09:35 PM
| | | Re: What is an unqualified-id ?
Awesome!
<snip> Quote: |
Declare the constructor in your class definition. . .
| </snip>
Ahhh thank you!
I got it working now. | 
October 20th, 2006, 10:05 PM
| | | Re: What is an unqualified-id ?
DevNull wrote: Quote:
If anyone is interested I can post the complete source. It's only 49
lines of code in total.
| I'd say that would be a great idea. | 
October 20th, 2006, 11:15 PM
| | | Re: What is an unqualified-id ?
* DevNull: Quote:
<snip> Quote:
>What Ron Natalie said (look out! Microsoft macros everywhere! or, as Dan
>Quayle would have said, Microsoft macroes everywhere!), plus, try using
>the qualified id
>>
> Mutex::Mutex()
>>
>;-)
| </snip>
>
Nope that made things worse...
ThreadLibMutex.h:35: error: definition of implicitly-declared
'Mutex::Mutex()'
| You also need to /declare/ the constructor in the class definition.
Hth.,
- Alf
--
A: Because it messes up the order in which people normally read text.
Q: Why is it such a bad thing?
A: Top-posting.
Q: What is the most annoying thing on usenet and in e-mail? | | Thread Tools | Search this Thread | | | |
Posting Rules
| You may not post new threads You may not post replies You may not post attachments You may not edit your posts HTML code is Off | | | | | | What is Bytes?
We are a network of experts and professionals in IT and software development that help one another with answers to tough questions and share insights.
Get the best answers to your questions from over 220,662 network members.
|