2013-10-15 2 views
0

Привет я получаю эту ошибку из моего кода ниже:неразрешенный внешний символ, возникают проблемы, пытаясь исправить

Error 4 error LNK2019: unresolved external symbol "public: __thiscall Noun::Noun(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" ([email protected]@[email protected][email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]) referenced in function "public: __thiscall Dictionary::Dictionary(void)" ([email protected]@[email protected])

Я предполагаю, что эта ошибка из не объявляя конструктор Noun(string word, string definition); Я также не уверен, как я могу объявите это, чтобы удалить ошибку, чтобы я мог скомпилировать свой код. Ниже мой код.

ответ

2

Линкера жалуется, что вы не добавили определение для конструктора Noun. Добавьте его, и эта ошибка будет исправлена. Я считаю, что вы имеете в виду только вызвать конструктор родителя в это так, возможно, это сделает работу:

Noun(string word, string definition) : Word(word, definition) {} 
+0

Im confused где добавить это ...? – user2881555

+0

@ user2881555 замените строку, в которой вы объявляете конструктор строки с этой строкой. Это поможет вам найти декларацию и определение метода поиска, а также объявление/дефрагментацию конструктора в google. –

+0

Спасибо. Он исправил ошибку, надеясь, что все это сработает. – user2881555

0

Вы можете определить конструктор

Noun(string word, string definition) 

именно так, как вы сделали это с конструктором класс Word. Но вам нужно убедиться, что определение существительного известно, когда вы его используете. Нормальный, для этого используется отдельный файл заголовка. Содержание заголовка-файл для класса Noun уже содержатся в коде, вы дали: Он начинается с

class Noun : public virtual Word { 

и заканчивается

}; 

Move, что в заголовке-файл с именем noun.h и укажите, что в вашем cpp-файле через

#include "noun.h" 
Смежные вопросы