Установка: на Qt Creator я вызываю эту функцию. Я импортировал все sstream, string и т. Д. Все они находятся в одном классе и хорошо определены в заголовочном файле:
std::string int2str(int x) {
std::stringstream ss;
ss << x;
return ss.str();
}
и внутри цикла for:
for (int i = 0; i < 10; i++) {
std::string s = int2str(i); // error lies on this line
// a line of Qt code
}
Я получаю ошибку "Invalid conversion from int to const char* [-fpermissive]"
, Что странно, потому что это не то, что эта функция должна делать?
РЕДАКТИРОВАТЬ: Не знал, как использовать Qt Creator для получения более подробной информации … Извините всех.
Ошибка:
Инициализация аргумента 1 из ‘
std::basic_string<_CharT, _Traits,_Alloc>::basic_string(const_charT*, const_Alloc&) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]
‘-fpermissive] @ basic_string.tcc строка 214 (/usr/include/c++/4.6/bits/basic_string.tcc)
EDIT2 ::
Тупые ошибки, одна из которых включает в себя, говоря о пространствах имен. никогда не уточняя где int2str
было; используемый myClass::
перед ним и сейчас все хорошо — как все думали.
Была предоставлена ложная информация; функция заголовка была не определены правильно, так как функция вернула int
вместо std::string
, Дополнительно пространства имен: не было myClass::
перед функцией int2str
в его реализации.
Других решений пока нет …