[Bug c++/28459] New: bogus diagnostic / format ‘%p’ expects type ‘void*’, but argument has type ‘void (x::*)()’
pluto at agmk dot net
gcc-bugzilla@gcc.gnu.org
Sat Jul 22 22:45:00 GMT 2006
#include <cstdio>
struct x
{
typedef void (x::*fn_ptr)();
void foo() { }
};
int main()
{
x obj;
x::fn_ptr f = &x::foo;
std::printf( "&obj = %p, f = %p\n", &obj, f );
return 0;
}
memb_fn.cpp: In function ‘int main()’:
memb_fn.cpp:11: warning: format ‘%p’ expects type
‘void*’, but argument 3 has type ‘void (x::*)()’
pointer to member needs a context of course but it's in fact
a pointer to method code, so casting to void* is imho acceptable.
--
Summary: bogus diagnostic / format ‘%p’ expects type
‘void*’, but argument has type ‘void
(x::*)()’
Product: gcc
Version: 4.1.2
Status: UNCONFIRMED
Severity: minor
Priority: P3
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pluto at agmk dot net
GCC build triplet: x86-64-linux
GCC host triplet: x86-64-linux
GCC target triplet: x86-64-linux
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28459
More information about the Gcc-bugs
mailing list