The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"c++ и mysql++"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"c++ и mysql++"  
Сообщение от weldpua2008 email(ok) on 02-Авг-07, 03:28 
Привет всем
Получаю ошибку на строке 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

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

  • c++ и mysql++, anonymous, 03:44 , 02-Авг-07, (1)  

Сообщения по теме [Сортировка по времени, UBB]


1. "c++ и mysql++"  
Сообщение от anonymous (??) on 02-Авг-07, 03:44 
>Привет всем
>Получаю ошибку на строке ip=row["ip"];
>Я так понимаю что нельзя применить = в данном случае - возможно
>ли как-то обойти это без дописывания библиотеки mysql++?

Можно, просто компилятор не знает, ты хочешь присвоить при помощи string::operator=(char) или string::operator=(const char*)

Попробуй так:
ip = (const char *) row["ip"];

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру