This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/14912] Do not print default template arguments in error messages
- From: "pluto at agmk dot net" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 22 Sep 2008 21:54:16 -0000
- Subject: [Bug c++/14912] Do not print default template arguments in error messages
- References: <bug-14912-7427@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- 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