Czy ktoś mi może powiedzieć czemu tak się dzieje?
A.h:
#ifndef aaaa
#define aaaa
struct A
{
static const int a = 5 ;
};
#endif
main.cpp:
</code=cpp>
#include "A.h"
#include <iostream>
int f(const int *i)
{
int b = 2**i;
return b-3;
}
int main()
{
std::cout<<f(&A::a)<<"\n";
return 0;
}
$ g++ main.cpp -g -o p
/tmp/ccKYeC7l.o: In function main': ./main.cpp:12: undefined reference to
A::a'
collect2: ld returned 1 exit status
Przeniesienie definicji A::a z headera do cppka oczywiście załatwia sprawę.