Форум программистов, компьютерный форум CyberForum.ru

C++

Войти
Регистрация
Восстановить пароль
 
dev.nikor
25 / 26 / 1
Регистрация: 26.07.2010
Сообщений: 297
#1

Вызов метода вызывает ошибку линковщика - C++

04.12.2013, 22:43. Просмотров 263. Ответов 0
Метки нет (Все метки)

Здравствуйте.

Есть метод:
C++
1
2
3
4
5
6
7
8
bool m_containsIdentifier(const std::vector<std::pair<std::string, std::string>>&   vector, const std::string& identifier) {
    for (const auto& pair : vector) {
        if (pair.second == identifier) {
            return true;
        }
    }
    return false;
}
Если я в коде пытаюсь его вызвать и скомпилировать этот код, то получаю ошибку линковщика:
Много текста
Код
Error   1   error LNK2001: unresolved external symbol "private: bool __thiscall 
SyntaxAnalyzer::m_containsIdentifier(class std::vector<struct std::pair<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> > >,class std::allocator<struct std::pair<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> > > > > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> 
> const &)" (?m_containsIdentifier@SyntaxAnalyzer@@AAE_NABV?$vector@U?$pair@V?$basic_string@DU?
$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@V?$allocator@U?$pair@V?$basic_string@DU?
$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@ABV?$basic_string@DU?
$char_traits@D@std@@V?$allocator@D@2@@3@@Z)  C:\Users\devnikor\documents\visual studio 
2013\Projects\SyntaxAnalyzer\SyntaxAnalyzer\SyntaxAnalyzer.obj


Сам вызов:
C++
1
2
3
4
5
6
7
std::vector<std::pair<std::string, std::string>> identifiers = { };
std::string tokenBuf = "";
......
if (m_containsIdentifier(identifiers, tokenBuf))
    errors.push({ tokenBuf + " is already defined", m_lineNumber });
else
    identifiers.push_back({ tempType, tokenBuf });
Подскажите, пожалуйста, что я делаю не так?

Добавлено через 26 минут
Все норм, ошибку нашел
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.12.2013, 22:43     Вызов метода вызывает ошибку линковщика
Посмотрите здесь:
Обращение к double** из метода dll вызывает ошибку памяти C++
Вызов функции, константы через *.h и работа линковщика C++
C++ не могу найти ошибку линковщика
C++ Исправить ошибку линковщика, возникающую при применении шаблонов
C++ Объявление вызывает ошибку
C++ Перечисление в классе вызывает ошибку
WxFrame вызывает ошибку сегментации C++ Linux
C++ Resize вектора вызывает ошибку
C++ Шаблон класса деструктор вызывает ошибку
C++ Функция компилируется, но вызывает виндовс ошибку
C++ Builder Килоггер вызывает ошибку abnormal program termination
C++ Builder Операция delete вызывает ошибку Access violation at address

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru