Home > Software engineering >  What is the following MACRO doing?
What is the following MACRO doing?

Time:04-18

#define DEFINE_VECTOR_MEMBER_DATA_S(T,c,n,s)    T c ## :: ## n[s]

I have it in the legacy code. It is compiled by MSVC 2022, but not with Clang. I plan to replace it, but before it I need to know what does it do.

CodePudding user response:

It defines a vector which is a static member of a class.

Type T.
Class c.
Name of vector n.
Size of vector s.

## pastes 2 pieces together, but isn't needed anyway.

If the linker says it the vector's missing just add:

T c::n[s];

Into a .cpp file with the parts replaced accordingly.

  • Related