Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Mazilo
36 / 36 / 72
Регистрация: 31.10.2014
Сообщений: 206
1

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

24.04.2016, 18:38. Просмотров 817. Ответов 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
Ответы с готовыми решениями:

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

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

Передача ссылки на массив в функцию
запутался в 3 соснах... Помахайте плиз) //обьявляю и инициализирую функцию void fShow(char...

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

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

3
Kerry_Jr
Эксперт PHP
2210 / 2006 / 940
Регистрация: 14.05.2014
Сообщений: 5,869
Записей в блоге: 1
Завершенные тесты: 5
24.04.2016, 18:43 2
Mazilo, полный код выкладывайте, или хотя бы покажите, где и как подключается хедер.
1
Mazilo
36 / 36 / 72
Регистрация: 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
157 / 149 / 92
Регистрация: 18.11.2015
Сообщений: 677
Завершенные тесты: 1
24.04.2016, 20:55 4
Лучший ответ Сообщение было отмечено Mazilo как решение

Решение

Перед 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

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

Передача в функцию метод класса
Не получается передать в функцию метод класса... ...

Передача параметра в функцию класса
Здравствуйте. Столкнулся с проблемой. Почему переменная &quot;x&quot; не становится равна 25? #include...


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

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

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