bug-commoncpp
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

GCC error: sockaddr "is not a template type"


From: Jeffrey Walton
Subject: GCC error: sockaddr "is not a template type"
Date: Sat, 25 Jul 2020 11:54:24 -0400

Hi Everyone,

I'm catching a compile error on older GCC from inc/ucommon/shared.h
that says "error: sockaddr "is not a template type". GCC version is
4.0.1, which is available on OS X 10.5 on a PowerMac G5.

The fix is to drop the 'struct' from the specialization:

--- inc/ucommon/shared.h
+++ inc/ucommon/shared.h
@@ -188,7 +188,7 @@
 }

 template<>
-inline size_t mapped_keypath<struct sockaddr>(const struct sockaddr *addr)
+inline size_t mapped_keypath<sockaddr>(const sockaddr *addr)
 {
     if(!addr)
         return 0;
@@ -197,7 +197,7 @@
 }

 template<>
-inline bool mapped_keyequal<struct sockaddr>(const struct sockaddr
*s1, const struct sockaddr *s2)
+inline bool mapped_keyequal<sockaddr>(const sockaddr *s1, const sockaddr *s2)
 {
     if(!s1 || !s2)
         return false;

'struct' is not needed for a C++ compiler anyways.

Jeff



reply via email to

[Prev in Thread] Current Thread [Next in Thread]