Простое преобразование int в строку … Int в const char * недопустимо

Установка: на 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:: перед ним и сейчас все хорошо — как все думали.

2

Решение

Была предоставлена ​​ложная информация; функция заголовка была не определены правильно, так как функция вернула int вместо std::string, Дополнительно пространства имен: не было myClass:: перед функцией int2str в его реализации.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]