crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Ошибка "нет подходящей функции", boots graph
brrr
  опции профиля:
сообщение 10.10.2009, 14:13
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 2
Регистрация: 9.10.2009
Пользователь №: 1147

Спасибо сказали: 0 раз(а)




Репутация:   0  


Пишу код из примера A Quick Tour of the Boost Graph Library
  
  #include <iostream>                   // for std::cout
  #include <utility>                       // for std::pair
  #include <algorithm>                 // for std::for_each
  #include <boost/graph/graph_traits.hpp>
  #include <boost/graph/adjacency_list.hpp>
  #include <boost/graph/dijkstra_shortest_paths.hpp>
  using namespace boost;
  
  int main(int,char*[])
  {
  typedef adjacency_list<listS, vecS, directedS,
                         no_property, property<edge_weight_t, int> > Graph;
  typedef graph_traits<Graph>::vertex_descriptor Vertex;
  typedef std::pair<int,int> E;

  const int num_nodes = 5;
  E edges[] = { E(0,2),
                E(1,1), E(1,3), E(1,4),
                E(2,1), E(2,3),
                E(3,4),
                E(4,0), E(4,1) };
  int weights[] = { 1, 2, 1, 2, 7, 3, 1, 1, 1};

  //здесь недоволен
  Graph G(edges + sizeof(edges) / sizeof(E), weights, num_nodes);
  
  return 0;
  }


На что компилятор злобно ругается и пишет
main.cpp:24: ошибка: нет подходящей функции для вызова ‘boost::adjacency_list<boost::listS, boost::vecS, boost::directedS, boost::no_property, boost::property<boost::edge_weight_t, int, boost::no_property>, boost::no_property, boost::listS>::adjacency_list(main(int, char**)::E*, int [9], const int&)’.
Подскожите, пожалуйста, в чем ошибка?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 10.10.2009, 14:30
Сообщение #2


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


эта ошибка говорит о том, что ты забыл подключить какой-то файл, в котором определяется одна из используемых функций.
или не обязательно функций, например например не может найти определение property<edge_weight_t, int> или еще какое, прошерсти все ли include подключены...

Сообщение отредактировал ViGOur - 10.10.2009, 14:37
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
brrr
  опции профиля:
сообщение 10.10.2009, 15:55
Сообщение #3


Новичок


Группа: Новичок
Сообщений: 2
Регистрация: 9.10.2009
Пользователь №: 1147

Спасибо сказали: 0 раз(а)




Репутация:   0  


Оказалось, что все просто - пропустил запятую
Graph G(edges, edges + sizeof(edges) / sizeof(E), weights, num_nodes);
Причина редактирования: используй тэг code
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 27.12.2024, 8:34