c++/9810: A using-declaration for a template function

comer@pisem.net comer@pisem.net
Sat Feb 22 20:46:00 GMT 2003


>Number:         9810
>Category:       c++
>Synopsis:       A using-declaration for a template function
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          rejects-legal
>Submitter-Id:   net
>Arrival-Date:   Sat Feb 22 20:46:00 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator:     Sergey Shandar
>Release:        3.2 20020818 (prerelease)
>Organization:
>Environment:
Windows, Cygwin
>Description:
struct A
{
	template<class R>
	void F(R)
	{ // line # 5
	}
};

struct B: private A
{
	using A::F; // line # 11
};

int main()
{
	B b;
	b.F(3); // line # 17
	return 0;
}
>How-To-Repeat:
g++ tst51.cpp
>Fix:
struct A
{
	template<class R>
	void F(R)
	{ 
	}
};

struct B: private A
{
	//using A::F; 
	template<class R>
	void F(R r)
	{
		A::F(r);
	}	
};

int main()
{
	B b;
	b.F(3);
	return 0;
}
>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="tst51.cpp"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="tst51.cpp"

c3RydWN0IEENCnsNCgl0ZW1wbGF0ZTxjbGFzcyBSPg0KCXZvaWQgRihSKQ0KCXsgLy8gbGluZSAj
IDUNCgl9DQp9Ow0KDQpzdHJ1Y3QgQjogcHJpdmF0ZSBBDQp7DQoJdXNpbmcgQTo6RjsgLy8gbGlu
ZSAjIDExDQp9Ow0KDQppbnQgbWFpbigpDQp7DQoJQiBiOw0KCWIuRigzKTsgLy8gbGluZSAjIDE3
DQoJcmV0dXJuIDA7DQp9DQo=



More information about the Gcc-bugs mailing list