[gameprogrammer] Templates with C style declarations

I'm doing a port of 7Zip and am trying to setup the project to build 
with the minmal file set.  I'm getting a C linker error with this code:

// Common/Defs.h

#ifndef __COMMON_DEFS_H
#define __COMMON_DEFS_H

template <class T> inline T MyMin(T a, T b)
   {  return a < b ? a : b; }
template <class T> inline T MyMax(T a, T b)
   {  return a > b ? a : b; }

template <class T> inline int MyCompare(T a, T b)
   {  return a < b ? -1 : (a == b ? 0 : 1); }

inline int BoolToInt(bool value)
   { return (value ? 1: 0); }

inline bool IntToBool(int value)
   { return (value != 0); }

#endif


c:\LZMA\LZMASDK\SRC\Common\Defs.h(6): error C2894: templates cannot be 
declared to have 'C' linkage
etc.

It's not surprising because that is a C function and he's trying to use 
templates with it.  However, the project he provides does compile, so he 
must be doing something I don't see to make it work.  Any ideas?


---------------------
To unsubscribe go to http://gameprogrammer.com/mailinglist.html


Other related posts: