delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1998/03/20/09:01:55

From: Sebastien BROCHET <tenabis AT geocities DOT com>
Newsgroups: comp.os.msdos.djgpp
Subject: Limititation with DJGPP, scope problem ...
Date: Fri, 20 Mar 1998 14:46:03 +0100
Organization: ImagiNET
Lines: 53
Message-ID: <3512731B.EA2518A1@geocities.com>
NNTP-Posting-Host: 195.68.2.21
Mime-Version: 1.0
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp

Hi all,

I think I've come into a limitation in the use of DJGPP.
Although this limitation can be avoided , hopefully !, it is still a bit
annoying.

Let's have a class A:
class A
{
 public:
 A(void) {}
 virtual ~A(void) {}

 virtual void Set(int Value) {}
}

And a class B:
class B
{
 public:
 B(void) {}
 virtual ~B(void) {}

 virtual void Raise(int Value) { m_pA->Set(Value); } // Pb with DJGPP *

 protected:
 A *m_pA;
}

This snippet compiles well with BC3.0/3.1 and watcom 10.x
I think the code above compiles well with DJGPP too but in my project
there are a few more classes with some dependencies ...
And DJGPP complains something like that :
"Lookup in the scope 'class A' does not match lookup in the current
scope"
in the line (*) : m_pA->Set(Value); // method B::Raise

I can work around by writing :
int i = Value;
m_pA->Set(i);

and it compiles well.

My understanding is that something in DJGPP makes it 'look' for table
not far enough to 'see' the incoming int Value in the class A context.

Has somebody come accross the same problem, is it known ?
Some explanations ?

------
Answer by mail too please ..


- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019