Lookup rules in inline asm are a little different. All struct members are included in the search, regardless of protection attributes, scoping, etc. This sounds a little wierd, but is intentional. It's fallout from trying to emulate MASM syntax, and MASM has little concept of structs, scoping, etc. Secondly, all struct members resolve to simply an integer representing the offset of that member from the start of the struct. This is so that it can be used as an offset to whatever 'this' value is in the index register:
 
    mov EAX, foo[ECX]
 
I hope this clears up the confusion.
 
-Walter
 
 
"KarL" <someone@somewhere.org> wrote in message news:aiq0sh$d69$1@digitaldaemon.com...
Source:
The "somepublicfunction" did not report the error on using m_cC in the inline assembly - since
m_cC is not declared as a global variable.
The same thing with someobj::somepublicfunction which failed to generate the someobj::m_cC
reference.
someobj::somefunction appears to be OK.