Conflicting declaration

user1496542 picture user1496542 · Aug 9, 2012 · Viewed 27.8k times · Source

I have a typedef defined in my code as

typdef unsigned int size_t;

it is conflicting with stddef's

typedef __SIZE_TYPE__ size_t;

I'm unsure how to get around this but would still like to keep size_t in my code.

Answer

Luchian Grigore picture Luchian Grigore · Aug 9, 2012

Two Three options:

1) Pick a different name, I think you already got that.

2) Use a namespace:

namespace X
{
   typedef long size_t;
}

and the type as

X::size_t x;

3) Ugly, guaranteed to get you fired, and me downvoted:

typedef unsigned int my_size_t;
#define size_t my_size_t