[Bug c++/14912] Do not print default template arguments in error messages

pluto at agmk dot net gcc-bugzilla@gcc.gnu.org
Mon Sep 22 21:55:00 GMT 2008



------- Comment #40 from pluto at agmk dot net  2008-09-22 21:54 -------
(In reply to comment #39)
> Created an attachment (id=16380)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16380&action=view) [edit]
> Updated fixed
> 

1). still there is a warning:

../../gcc/cp/error.c: In function 'dump_template_argument_list':
../../gcc/cp/error.c:190: warning: signed and unsigned type in conditional
expression

2). seems to work, but...

#include <set>
#include <string>
template < typename T, typename S = std::set< std::string >, int N = 1 >
struct X
{
        virtual ~X() = 0;
};
void f()
{
        X< float > x;  // error here.
}

$ g++ d2.cpp -c
d2.cpp: In function ‘void f()’:
d2.cpp:10: error: cannot declare variable ‘x’ to be of abstract
type ‘X<float>’
d2.cpp:5: note:   because the following virtual functions are pure within
‘X<float>’:
d2.cpp:6: note:         X<T, S, N>::~X() [with T = float, S =
std::set<std::basic_string<char> >, int N = 1]

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 d2.cpp:6: note could look like 'X<T, S, N>::~X() [with T = float]'


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14912



More information about the Gcc-bugs mailing list