This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: compile or not compile


Eljay Love-Jensen wrote:

Hi Karo,

Add this to your class A:

int foo(Items const&)
{
  std::cerr << "A::Items\n";
  return 0;
}

HTH,
--Eljay

Hi!

I can't use you solution in my code because in real example I have little different sitiuation.
In my second test case I try to explain more precisely my real case. Look at the following code:


// SECOND_CASE
typedef int my_int;

class ALibraryClass
{

public:
   int foo(const my_int&)
       {
           return 0;
       }
   int foo(const bool&)
       {
           return 0;
       }
};

class BClientClass
{
   public:
   enum Items
   {
       item1=1000,
       item2=2000
   };
   void test()
   {
       ALibraryClass a;
       a.foo(BClientClass::item1);
   }
};

int main()
{
   BClientClass b;
   b.test();
   return 0;
}

In class ALibraryClass I can't define int foo(Items const&)
because I know nothing about enum Items from client class BClientClass.


Generally I would like to know why this program compiles fine (gcc 3.3.3)
under Debian but does not compile under Suse (gcc 3.3.3). Is it possible
such a difference in compiling results with the same versions of compiler?
Is that different situation can suggest compiler bug or for example different
default settings/options of same compiler?


Greets,Karol Szk


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]