Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибка компиляции Visual Studio, error C2461 
:(
    Опции темы
ecspertiza
Дата 22.4.2011, 11:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 763
Регистрация: 3.11.2008
Где: г.Смоленск

Репутация: нет
Всего: 5



нашел на одном из форумов оченно удобную на мой взгляд обертку над asio вот ссылка на нее

http://forum.try-catch.ru/index.php?topic=443.0

под MinGW все примеры собираются хорошо, под gcc под Linux тоже все хорошо, но по некоторым причинам нужно ее собрать под Visual Studio и при компиляции получаю вот такую вот ошибку 

Код

simple_socket::queue<T>: отсутствие в синтаксисе конструктора формальных параметров


ругается вот на эту строчку
Код

private:
      mutable boost::mutex mutex;
      std::queue<T> queue; <--- ТУТ
   };


и ссылается на конструктор класса 

Код

queue< pair > write_queue;


но на мой взгляд вроде как все кошерно, по возможности объясните чего не хватает Visual Studio для компила. Пример прилагаю


Это сообщение отредактировал(а) ecspertiza - 22.4.2011, 11:44

Присоединённый файл ( Кол-во скачиваний: 4 )
Присоединённый файл  simple_socket_client_1.rar 9,03 Kb


--------------------
С уважением,
мастер конфетного цеха!

онлайн компилер
залип
PM MAIL   Вверх
ecspertiza
Дата 22.4.2011, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 763
Регистрация: 3.11.2008
Где: г.Смоленск

Репутация: нет
Всего: 5



Кажется нашел в чем косяк, но пока не знаю как побороть.

в обертке есть класс queue в котором есть переменная queue, но студия в отличии от других компиляторов думает что это не переменная ,а мы пытаемся класс объявить, вот и ругается. Теперь стало быть интересно как объявить переменную так что бы было понятно что это переменная, или лучше ее просто назвать по другому ?


--------------------
С уважением,
мастер конфетного цеха!

онлайн компилер
залип
PM MAIL   Вверх
boostcoder
Дата 22.4.2011, 12:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: нет
Всего: 110



ecspertiza, может быть ты открыл пространство имен std?
PM WWW   Вверх
ecspertiza
Дата 22.4.2011, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 763
Регистрация: 3.11.2008
Где: г.Смоленск

Репутация: нет
Всего: 5



не, все оставлял как есть;

просто вроде как получается что то на подобии этого

Код

#include <iostream>

class test{
   public:
      test();
      int test;
};

int main(int argc, char* argv[])
{
   test t();
   return 0;
}


только это нигде не компилится, а почему обертка с таким принципом собирается не могу понять


--------------------
С уважением,
мастер конфетного цеха!

онлайн компилер
залип
PM MAIL   Вверх
boostcoder
Дата 22.4.2011, 12:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: нет
Всего: 110



но на этот код и gcc ругается.
PM WWW   Вверх
ecspertiza
Дата 22.4.2011, 12:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 763
Регистрация: 3.11.2008
Где: г.Смоленск

Репутация: нет
Всего: 5



вот этот парадокс меня и пугает smile ради интереса в обертке переименовал переменную queue на storage и все работает хорошо. Вообщем я думаю что это из за двойственности имен переменной и класса. Но почему gcc собрал я незнаю


--------------------
С уважением,
мастер конфетного цеха!

онлайн компилер
залип
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0491 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.