compile or not compile

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi!

The following program:

include <iostream>
typedef int my_int;

class A
{

public:
    enum Items
    {
        item1=1000,
        item2=2000
    };

//    typedef int my_int;
    int foo(const my_int&)
        {
            std::cerr << "int\n";
            return 0;
        }
    int foo(const bool&)
        {
            std::cerr << "bool\n";
            return 0;
        }
};

int main()
{
    A a;
    a.foo(A::item1);
    return 0;
}

on my platform (Suse Linux, gcc 3.3.3) does not compile. Returns errors:
testtypedef.cpp: In function `int main()':
testtypedef.cpp:30: error: call of overloaded `foo(A::Items)' is ambiguous
testtypedef.cpp:16: error: candidates are: int A::foo(const my_int&)
testtypedef.cpp:21: error:                 int A::foo(const bool&)

I posted my problem to compl.lang.c++ and I got answer that
reason for this is compiler bug. I don't know how can I avoid it.
My program compiles fine on another linuxes with gcc 3.3.3 for
example gentoo and debian. Also I posted my problem to Suse support
but got answer that:

"So far, we are not aware about any problem in this package."

says about gcc package.

Any ideas what can I do now? Is it compiler bug or not... I am very confused...

Greets,
Karol Szkudlarek


[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux