#include <iostream>
using namespace std;

struct SomeType {
template< bool condition >
void init();
};

template<>
void SomeType::init< true >() {
    cout << "do some init" << endl;
}
template<>
void SomeType::init< false >() {
    cout << "do some other init" << endl;
}

int main() {
	SomeType t;
	t.init< true >();
	SomeType f;
	f.init< false >();
	return 0;
}