Najprawdopodobniej w pewnym momencie w czasie, lub w pewnych warunkach to zostało zdefiniowane jako (na przykład pod MSVC):
#define IDATA_EXPORT __declspec(dllexport)
Który został użyty do wskazania klas do publicznego eksportu z biblioteki.
Korzystając z makra, programista może na przemian eksportować klasy i nie eksportować niczego, bez konieczności sprawdzania poszczególnych klas.
Jest to często część wzorca makro, który zmienia się naprzemiennie między importowaniem a eksportowaniem klas, w zależności od tego, czy kod jest kompilowany z biblioteki, czy z programu zależnego od biblioteki. Byłoby wtedy wyglądać następująco:
#ifdef IS_LIBRARY // <--this would only be defined when compiling the library!
#define IDATA_EXPORT __declspec(dllexport)
#else
#define IDATA_EXPORT __declspec(dllimport)
#endif
Aby uzyskać więcej informacji, zobacz dllexport, dllimport on MSDN
Jest to makro, które rozwija się do niczego. Tak więc to nigdy nie istniało. –
Jaką rolę odgrywa ona w definicji klasy? – SnuKies
[Duplicate] (http://stackoverflow.com/q/37487907/3233393), ale ten ma wartość -2. – Quentin