Code: Alles auswählen
template<typename Etype, unsigned int N=1> struct ValueToObject{static Object get(Etype value){return ValueObject<Etype>(value);}};
template<unsigned int N> struct ValueToObject<Object, N>{static Object get(Object value){return value;}};
template<unsigned int N> struct ValueToObject<char*, N>{static Object get(const char* value){return ValueToObject<JString>::get(JString(value));}};
template<unsigned int N> struct ValueToObject<const char[N], N>{static Object get(const char value[N]){return ValueToObject<JString>::get(JString(value));}};
Folgender Code funktioniert auch soweit:
Code: Alles auswählen
static void test(void)
{
ValueToObject<const char[10], 10>::get("123456789");
}
Code: Alles auswählen
/*template<typename Etype>
static void test(const Etype& val)
{
ValueToObject<Etype>::get(val);
}*/
template<typename Etype, unsigned int N>
static void test(const Etype val[N])
{
//ValueToObject<const Etype[N]>::get(val);
}
static void tester(void)
{
//test(Object());
test("012345789");
}