есть класс (tcp сокет), у него метод open (задание носта и порта куда коннектится)
прототипы:
void open(const std::string& address, int service, bool nonblock = false);
void open(const std::string& address, int service, unsigned int milliseconds);
при попытке позвать его внутри метода моего класса
CommClient::CommClient(const std::string& host, int port)
{
m_clientSocket.open(host,port,10);
компилер ругается
g++ -O3 -Wall -osrc/CommClient.o ../src/CommClient.cpp
../src/CommClient.cpp: In constructor `CommClient::CommClient(const std::string&, int)’:
../src/CommClient.cpp:6: error: call of overloaded `open(const std::basic_string, std::allocator >&, int&, int)' is ambiguous
skstream.h:299: note: candidates are: void tcp_socket_stream::open(const std::string&, int, bool)
skstream.h:300: note: void tcp_socket_stream::open(const std::string&, int, unsigned int)
если захардкодить параметры:
m_clientSocket.open(«somehost.com»,21,10);
то пишет
g++ -O3 -Wall -osrc/CommClient.o ../src/CommClient.cpp
../src/CommClient.cpp: In constructor `CommClient::CommClient(const std::string&, int)’:
../src/CommClient.cpp:5: error: call of overloaded `open(const char[13], int, int)' is ambiguous
skstream.h:299: note: candidates are: void tcp_socket_stream::open(const std::string&, int, bool)
skstream.h:300: note: void tcp_socket_stream::open(const std::string&, int, unsigned int)
буквально парой строчек ниже есть вызов метода у которого параметр тоже const
std::string & и никаких проблем
gcc 3.4.2
как такое может быть ???
Последние комментарии
-
fhunter, 25 апреля в 1:07 → Перекличка 11
-
Иванн, 9 апреля в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
-
Oksana_Gusak, 13 октября в 7:31 → Как «замокать» файл для юниттеста в Python? 2
-
Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
-
fhunter, 26 февраля 2021 года в 20:45 → A, MX, PTR — Настройка и проверка извне. Как ? 2

Внимательно смотришь на 3-й параметр и представляешь себя компилятором. Как ему догадаться что делать с int?
точно, дело в этом
спасибо
я почемуто считал что компилер int к unsigned int в состоянии привести…
и меня смущала его ругань на первый параметр
Сокеты? Юникс? Стивенс!