template <int sz>
struct dataString
{
wchar_t data[sz];
const int size = sz;
constexpr dataString() : data{ L'\0' } { };
};
template <int size>
constexpr dataString<size> encoder(const wchar_t* str) {
dataString<size> result;
for (int i = 0; i != result.size; i++) {
result.data[i] = str[i] ^ (wchar_t)key;
}
return result;
}
//Вот что получается:
constexpr dataString<4> test = encoder<4>(L"Test");
//А хочу получать, что-то такое:
wchar_t* test2 = TOTEXT(encoder<4>(L"Test");) \\ wchar_t* test2 = L"uxbF";