From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26543 invoked by alias); 4 Nov 2002 15:17:44 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 26506 invoked by uid 61); 4 Nov 2002 15:17:43 -0000 Date: Mon, 04 Nov 2002 07:17:00 -0000 Message-ID: <20021104151743.26504.qmail@sources.redhat.com> To: gcc-bugs@gcc.gnu.org, gcc-prs@gcc.gnu.org, nobody@gcc.gnu.org, rl@tempest-sw.com From: bangerth@dealii.org Reply-To: bangerth@dealii.org, gcc-bugs@gcc.gnu.org, gcc-prs@gcc.gnu.org, nobody@gcc.gnu.org, rl@tempest-sw.com, gcc-gnats@gcc.gnu.org Subject: Re: c++/8427: internal error on ambiguous function template X-SW-Source: 2002-11/txt/msg00155.txt.bz2 List-Id: Synopsis: internal error on ambiguous function template State-Changed-From-To: open->closed State-Changed-By: bangerth State-Changed-When: Mon Nov 4 07:17:42 2002 State-Changed-Why: gcc 3.3 now says ----------------------------- home/bangerth> /home/bangerth/bin/gcc-3.3-pre/bin/c++ -c gcc01.cpp -o /dev/null gcc01.cpp: In function `int main()': gcc01.cpp:8: error: call of overloaded `f(g<2>)' is ambiguous gcc01.cpp:3: error: candidates are: void f(g<(i / j)>) [with int i = 4, int j = 2] gcc01.cpp:4: error: void f(g) [with int i = 4, int j = 2] The message seems correct to me. I think you're just out of luck here, since the language does not provide you with a way to disambiguate which function you wanted to call. Regards W. Original code: template struct g {}; template void f(g) { } template void f(g) { } int main() { f<4,2>(g<4/2>()); } http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=8427