A
arcimboldo
Hello,
I got a strange link problem; here are the simplest files showing the
error:
a.h::
#include <utility>
class a{
public:
typedef int perm;
static const perm PERM_NONE = 0;
a();
private:
std:air<int, perm> aaa;
};
a.cpp::
#include "a.h"
a::a() : aaa(0,PERM_NONE) { }
main () { }
Compiling with g++ (GCC) 3.3.5 (Debian 1:3.3.5-13) I get::
$ g++ a.cpp
/tmp/ccKKUXg8.o: In function
`a::a[not-in-charge]()':a.cpp.text+0xa): undefined reference to
`a:ERM_NONE'
/tmp/ccKKUXg8.o: In function `a::a[in-charge]()':a.cpp.text+0x34):
undefined reference to `a:ERM_NONE'
collect2: ld returned 1 exit status
The file compiles correctly, the error shows up only when linking.
What could it possibly be? Thanks for any help!
Arcimboldo
I got a strange link problem; here are the simplest files showing the
error:
a.h::
#include <utility>
class a{
public:
typedef int perm;
static const perm PERM_NONE = 0;
a();
private:
std:air<int, perm> aaa;
};
a.cpp::
#include "a.h"
a::a() : aaa(0,PERM_NONE) { }
main () { }
Compiling with g++ (GCC) 3.3.5 (Debian 1:3.3.5-13) I get::
$ g++ a.cpp
/tmp/ccKKUXg8.o: In function
`a::a[not-in-charge]()':a.cpp.text+0xa): undefined reference to
`a:ERM_NONE'
/tmp/ccKKUXg8.o: In function `a::a[in-charge]()':a.cpp.text+0x34):
undefined reference to `a:ERM_NONE'
collect2: ld returned 1 exit status
The file compiles correctly, the error shows up only when linking.
What could it possibly be? Thanks for any help!
Arcimboldo