Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Mazilo
36 / 36 / 44
Регистрация: 31.10.2014
Сообщений: 206
#1

Передача ссылки на обьект класса в функцию - C++

24.04.2016, 18:38. Просмотров 194. Ответов 3
Метки нет (Все метки)

Определен класс в хэддере:
C++
1
2
3
4
5
class List{
    public:
    //...
    void Add(const List *list); 
       //...
Метод Add:
C++
1
2
3
void Add(const List *list) {
    //something do
}
И главная функция:
C++
1
2
3
4
5
6
7
int main() {
        List *list = new List;
         const List *list1 = new List;
        //...
        list->Add(list1);
        //...
}
При вызове Add возникают ошибки линковщика:

error LNK2028: ссылка на неразрешенную лексему (0A000013) "public: void __thiscall List::Add(class List const *)" (?Head@List@@$$FQAEXPBV1@@Z) в функции "int __cdecl main(void)" (?main@@$$HYAHXZ)

error LNK2019: ссылка на неразрешенный внешний символ "public: void __thiscall List::Add(class List const *)" (?Add@List@@$$FQAEXPBV1@@Z) в функции "int __cdecl main(void)" (?main@@$$HYAHXZ)

Помогите пофиксить пожалуйста.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.04.2016, 18:38
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Передача ссылки на обьект класса в функцию (C++):

Передача класса по ссылки в метод (ругается) - C++
Среда Linux gcc 4.1.2 Есть прототип метода (класса Time) Time Time::Sum(const Time & t)const; И скажем такой код, передаем...

Передача ссылки на массив в функцию - C++
запутался в 3 соснах... Помахайте плиз) //обьявляю и инициализирую функцию void fShow(char *pNameArray){ for (int i = 0; i <...

Передача ссылки и указателя в функцию - C++
передал ссылку в одну функцию - нормально, передал в другую - выводит неверное значение, тоже самое с указателем. Как можно это исправить?

Передача в функцию - ссылки, указатели, константы - C++
Вот программа: #include <iostream> void fun(int &rhs) { rhs++; } int main()

Передача ссылки в функцию в DLL - C++
Здравствуйте. По этому мануалу сделал DLL https://msdn.microsoft.com/ru-ru/library/ms235636.aspx Возникла проблема с передачей...

Передача private класса в функцию - C++
Имеется класс class Computer { ... } и второй класс который наследует первый class NoteBook1 : private Computer {... } И...

3
Kerry_Jr
Эксперт PHP
2210 / 2006 / 702
Регистрация: 14.05.2014
Сообщений: 5,869
Записей в блоге: 1
Завершенные тесты: 5
24.04.2016, 18:43 #2
Mazilo, полный код выкладывайте, или хотя бы покажите, где и как подключается хедер.
1
Mazilo
36 / 36 / 44
Регистрация: 31.10.2014
Сообщений: 206
24.04.2016, 18:53  [ТС] #3
List.h
C++
1
2
3
4
5
6
7
8
9
10
11
#pragma once
#include <string.h>
#include <stdio.h>
class List{
    public:
        List(void);
        ~List(void);
        void Add(const List *list);
private:
char *s;
}
List.cpp
C++
1
2
3
4
5
6
7
8
9
10
#include "List.h"
#include <stdlib.h>
 
List::List(void){s = "q"}
 
List::~List(void) {}
 
void Add(const List *list) {
    //something do
}
Main.cpp
C++
1
2
3
4
5
6
7
8
#include "List.h"
#include <stdlib.h>
 
int main() {
    List *list = new List;
    List *list1 = new List;
    list->Add(list1);
}
0
meJevin
156 / 148 / 58
Регистрация: 18.11.2015
Сообщений: 674
Завершенные тесты: 1
24.04.2016, 20:55 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Перед Add забыл List::
C++
1
2
3
void List::Add(const List *list) {
    //something do
}
Добавлено через 31 секунду
тут ты забыл точку с запятой
C++
1
List::List(void) { s = "q"; }
Добавлено через 27 секунд
И тут тоже в конце
C++
1
2
3
4
5
6
7
8
9
10
11
#pragma once
#include <string.h>
#include <stdio.h>
class List{
    public:
        List(void);
        ~List(void);
        void Add(const List *list);
private:
char *s;
};
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.04.2016, 20:55
Привет! Вот еще темы с ответами:

Передача объекта класса в функцию С++ - C++
Всем привет! Возник вопрос по классам. Допустим мне нужно изменить объект класса через функцию вызываемую в main. Я пробовал через...

Передача в функцию метод класса - C++
Не получается передать в функцию метод класса... hge-&gt;System_SetState(HGE_FRAMEFUNC,&amp;GameManager::UpdateScene); ...

Передача параметра в функцию класса - C++
Здравствуйте. Столкнулся с проблемой. Почему переменная &quot;x&quot; не становится равна 25? #include &lt;iostream&gt; using namespace std; ...

Передача указателя на функцию-член класса - C++
Необходимо передать фунцию-член класса как аргумент в функцию другого класса. Код: Файл main.cpp #include &quot;head.hpp&quot; int...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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