uni_string problem



  • Hi,

    ich hatte es ja schon angesprochen das ich so einen cast machen wollte, jedoch habe ich nun beim Aufbau paar Probleme 😞

    Hier erstmal der Prototyp zum Testen

    template<typename A, typename T> inline ::std::basic_string<A> uni_cast (const ::std::basic_string<T>& source)
    { }
    
    template<> inline ::std::basic_string<char> uni_cast (const ::std::basic_string<char>& source)
    { return (source); }
    
    template<> inline ::std::basic_string<wchar_t> uni_cast (const ::std::basic_string<wchar_t>& source)
    { return (source); }
    
    template<> inline ::std::basic_string<char> uni_cast (const ::std::basic_string<wchar_t>& source)
    {
        // Spätere Konvertierung
        return "";
    }
    
    template<> inline ::std::basic_string<wchar_t> uni_cast (const ::std::basic_string<char>& source)
    {
        // Spätere Konvertierung
        return L"";
    }
    

    Benutzung:

    std::basic_string<char> test = uni_cast<char>(L"Hallo!");
    

    Jedoch bekomme ich dabei schon folgenden Fehler 😞

    main.cpp(7): error C2784: 'std::basic_string<A,std::char_traits<A>,std::allocator<A>> uni_cast(const std::basic_string<T,std::char_traits<T>,std::allocator<T>> &)' : could not deduce template argument for 'const std::basic_string<_Traits,std::char_traits<_Traits>,std::allocator<_Traits>> &' from 'unsigned short [7]'
    

    Was kann ich dagegen tun? 😞


Anmelden zum Antworten