Здравствуйте!
Имеется .h файл - graph.h
В .h определен класс
template< typename VertexProperties, typename EdgeProperties > class Graph
{
public : //..код
typedef typename graph_traits < GraphContainer >:: vertex_descriptor Vertex;
Graph();
Vertex addVertex (...);
//код
}
Описываю в .cpp
#include graph.h
template < typename VertexProperties, typename EdgeProperties >
Graph < VertexProperties, EdgeProperties > ::Graph ( )
{
//код
}
template < typename VertexProperties, typename EdgeProperties >
Vertex Graph < VertexProperties, EdgeProperties > :: addVertex ()
{
//код
}
При попытке вызвать из main .cpp
typede Graph < VertexProperties, EdgeProperties > SemanticGraph;
SemanticGraph semanticGraph;
компилятор выдает ошибку: no matching function to call Graph<VertexProperties, EdgeProperties>::Graph();
Для addVertex же пишет: expected constructor, destructor or type conversion before Graph.
При реализации всех функций в .h никаких ошибок не возникает. Подскажите, в чем может быть проблема?
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.