テンプレートクラスにBridgeパターン、もしくはpimplイディオムで、インターフェースと実装を分離したいのですが、どうすればいいのでしょうか。

当たり前なんですが、以下のようにするとエラーです。

// Test.h

class Test_impl;

template<typename T>
class Test {
Test_impl<T> *pImpl;

public:
Test( void );
~Test( void );

void Set( T data );
T Get( void );
};