Boost logo

Boost :

From: Eric Friedman (ebf_at_[hidden])
Date: 2002-07-02 22:46:27

Anyone have an idea as to how to make the following code work (or at
least exhibit similar behavior) under MSVC 7 or GCC 2.9.5?

Comeau compiles the code without error.

Under MSVC 7 I get:

"error C2372: 'test_using<base>::initialize' : redefinition; different
types of indirection."

Under GCC 2.9.5 I get:

"cannot adjust access to `int test_base::f(const float &)' in `struct
test_using<double,test_base>' because of local method `int
test_using<double,test_base>::f(const double &)' with same name

cannot adjust access to `int test_using<double,test_base>::f(const
double &)' in `struct test_using<int,test_using<double,test_base> >'
because of local method `int test_using<int,test_using<double,test_base>
>::f(const int &)' with same name"

Eric Friedman

struct test_base
	static void f() { }
template <typename T, typename base>
struct test_using
	: base
	using base::f;
	static int f(const T& t)
		return t;
int main()
	typedef test_using<
		, test_using<
			, test_base
		> test;

Boost list run by bdawes at, gregod at, cpdaniel at, john at