[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
Problems with GCC 4.3 C++
- From: "Horst H. von Brand" <vonbrand inf utfsm cl>
- To: For testers of Fedora Core development releases <fedora-test-list redhat com>
- Subject: Problems with GCC 4.3 C++
- Date: Tue, 05 Feb 2008 23:20:01 -0300
A game (Linley's Dungeon Crawl's Stone Soup development line
<http://crawl-ref.sourceforge.net>, if you must know) did compile and work
with the GCC 4.1 series, but now it won't build. The construction it
complains about (after fixing what
<http://gcc.gnu.org/gcc-4.3/porting_to.html> suggests) is something like:
template <typename T>
static void ff(int i, T f)
{
f(i);
}
void realf(int i, int j = 1000)
{
}
void g()
{
ff(117, realf);
}
void gg()
{
realf(37);
}
Note that the f() function can be called with one argument, and that is
what the template use tries to do; g++ complains:
$ g++ -O2 -c tst.cc
tst.cc: In function ‘void ff(int, T) [with T = void (*)(int, int)]’:
tst.cc:13: instantiated from here
tst.cc:4: error: too few arguments to function
I'm no C++ expert at all, so both the "how it used to work" and the current
behavior sound reasonable. Can somebody shed some light? Should this be
documented as a GCC change, or is it a bug?
gcc-c++-4.3.0-0.7.i386
Thanks!
--
Dr. Horst H. von Brand User #22616 counter.li.org
Departamento de Informatica Fono: +56 32 2654431
Universidad Tecnica Federico Santa Maria +56 32 2654239
Casilla 110-V, Valparaiso, Chile Fax: +56 32 2797513
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]