Файловые потоки C++
Пишу программку на C++ & Gtkmm (биндинг на GTK). Во избежании гемороя с символами национальных алфавитов использую класс ustring из Glibmm (биндинг на Glib). Собственно код и крики gcc:
void storage::read(Glib::ustring file_name) {
std::basic_ifstream<Glib::ustring::value _type> f(file_name);
/*
...
*/
}
storage.cc:24: error: no matching function for call to `std::basic_ifstream<gunichar, std::char_traits<gunichar> >::basic_ifstream(Glib::ustring&)'
/usr/lib/gcc/i686-pc-linux-gnu/3.4.6/inc lude/g++-v3/fstream:481: note: candidates are: std::basic_ifstream<gunichar, std::char_traits<gunichar> >::basic_ifstream(const std::basic_ifstream<gunichar, std::char_traits<gunichar> >&)
/usr/lib/gcc/i686-pc-linux-gnu/3.4.6/inc lude/g++-v3/fstream:526: note: std::basic_ifstream<_CharT, _Traits>::basic_ifstream(const char*, std::_Ios_Openmode) [with _CharT = gunichar, _Traits = std::char_traits<gunichar>]
/usr/lib/gcc/i686-pc-linux-gnu/3.4.6/inc lude/g++-v3/fstream:511: note: std::basic_ifstream<_CharT, _Traits>::basic_ifstream() [with _CharT = gunichar, _Traits = std::char_traits<gunichar>]
make[1]: *** [storage.o] Ошибка 1
make: *** [all-recursive] Ошибка 1
void storage::read(Glib::ustring file_name) {
std::basic_ifstream<Glib::ustring::value
/*
...
*/
}
storage.cc:24: error: no matching function for call to `std::basic_ifstream<gunichar, std::char_traits<gunichar> >::basic_ifstream(Glib::ustring&)'
/usr/lib/gcc/i686-pc-linux-gnu/3.4.6/inc
/usr/lib/gcc/i686-pc-linux-gnu/3.4.6/inc
/usr/lib/gcc/i686-pc-linux-gnu/3.4.6/inc
make[1]: *** [storage.o] Ошибка 1
make: *** [all-recursive] Ошибка 1
