Я работаю над домашним заданием, где нам не разрешено использовать какие-либо STL-контейнеры. Моя реализация LinkedList представляет собой набор узлов, соединенных вместе с указателями. У меня есть еще один класс под названием ContinuousList, у которого есть элемент данных LinkedList, чьи узлы содержат указатели на узлы в других других LinkedLists. Я пытаюсь назначить возвращаемое значение функции, которая возвращает указатель на узел на переменную, которая также является указателем на узел, но он говорит, что это неверно, и я не понимаю, почему я не могу сделать что.ошибка C2440: '=': не может конвертировать из 'Node <ValueType> *' to 'Node <ValueType> *'
template <typename ValueType>
struct Node
{
Node();
std::string m_key;
ValueType m_value;
Node<ValueType>* m_next;
};
Связанный список классов:
template <typename ValueType>
class LinkedList
{
public:
Node<ValueType>* begin()
{
return m_head;
}
private:
Node<ValueType>* m_head;
};
ContinuousList:
template <typename ValueType>
class ContinuousList
{
public:
ValueType* iterate(std::string& key)
{
m_curr = m_collection.begin(); // Error occurs here
...
}
private:
LinkedList<Node<ValueType>*> m_collection;
Node<ValueType>* m_curr;
};
Полное сообщение об ошибке
1> error C2440: '=' : cannot convert from 'Node<ValueType> *' to 'Node<ValueType> *'
1> with
1> [
1> ValueType=Node<bool> *
1> ]
1> and
1> [
1> ValueType=bool
1> ]
1> Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
1> while compiling class template member function 'bool *ContinuousList<ValueType>::iterate(std::string &)'
1> with
1> [
1> ValueType=bool
1> ]
1> see reference to class template instantiation 'ContinuousList<ValueType>' being compiled
1> with
1> [
1> ValueType=bool
1> ]
Вам не хватает точек с запятой в конце объявления класса, может быть, просто скопировать-вставить ошибку? –
Какой компилятор вы используете? Можете ли вы опубликовать полный тестовый файл? –
Да, это была просто ошибка, когда я пытался удалить ненужные биты кода. Я использую Visual Studio 2010 под Windows. Я добавил полный текст сообщения об ошибке в OP, если это вообще поможет. Компилятор немедленно сбой, когда я пытаюсь построить ContinuousList test_results; –
flurry