Привет всем
Получаю ошибку на строке ip=row["ip"];
Я так понимаю что нельзя применить = в данном случае - возможно ли как-то обойти это без дописывания библиотеки mysql++?
Вот часть кода...
mysqlpp::Row row;
mysqlpp::Row::size_type i;
string ip;
for (i = 0; row = res.at(i); ++i) {
ip=row["ip"];
}
Ощшибка:
./try.cpp: In function ‘int main(int, char**)’:
./try.cpp:71: error: ambiguous overload for ‘operator=’ in ‘ip = mysqlpp::Row::operator[](const char*) const(((const char*)"ip"))’
/usr/include/c++/4.1.3/bits/basic_string.h:493: note: candidates are: std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, _Alloc>::operator=(const _CharT*) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]
/usr/include/c++/4.1.3/bits/basic_string.h:504: note: std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, _Alloc>::operator=(_CharT) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]
Переписываю так:
mysqlpp::Row row;
mysqlpp::Row::size_type i;
for (i = 0; row = res.at(i); ++i) {;}
row = res.at(0);
string ip=row["ip"];
./try.cpp: In function ‘int main(int, char**)’:
./try.cpp:71: error: conversion from ‘const mysqlpp::ColData’ to non-scalar type ‘std::basic_string<char, std::char_traits<char>, std::allocator<char> >’ requested