現在公開されている回答を見ても、まだ答えがわかりません。これが私の例です
// foo.h
template <class T> class foo
{
public:
static T t;
};
template <class T> T foo<T>::t = 0;
// a.cpp
#include "foo.h"
foo<int> fa;
// b.cpp
#include "foo.h"
foo<int> fb;
// c.cpp
#include "foo.h"
foo<int> fc;
int main (int argc, char* argv[])
{
fc.t = 5;
}
それは、fa.t と fb.t も 5 ということですか? 構文が正しくない場合はお知らせください。