Привет!
Подскажите, пожалуйста, как лучше организовать код. Было так:
// SomeClass.h
class SomeClass {
private:
struct S;//объявление структуры, определение вынесено в SomeClass.cpp
};
Я написал довольно большой шаблонный метод func, код пока что поместил в заголовочном файле SomeClass.h. В функции funс() используются некоторые поля структуры S, поэтому пришлось определение S перенести в заголовочный файл (из SomeClass.cpp в SomeClass.h):
// SomeClass.h
class SomeClass {
private:
struct S { // пришлось перенести определение в заголовочный файл
Type1 data1;
....
}
public:
template<class T>
T func(T arg) {
S* ps = ...;
ps->data1;
}
};
Теперь хочу
1) вернуть определение структуры S в файл реализации (SomeClass.cpp)
2) код шаблонного метода func() вынести из заголовочного файла (SomeClass.h)
Что-то не могу сообразить как лучше это сделать...