no variable has ever been double defined, that's not possible at all. i don't really get what you want. the property of a struct depends on the struct you're using it on. particle.size is as valid as foo.size, for the compiler there's no way for a misunderstanding.