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

Ошибка при вызове метода - C++

Восстановить пароль Регистрация
 
unandro
2 / 2 / 0
Регистрация: 10.12.2011
Сообщений: 61
04.06.2012, 13:00     Ошибка при вызове метода #1
Не пойму в чем ошибка...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <vector>
#include <iostream>
 
template <typename T>
class Beast
{
public:
    int x;
    int y;
    int day;
    void Start_Beast(int number_beasts, int beast_life, std::vector<T> &beast);
};
 
template <typename T>
class Rabbit : public Beast<T>{};
std::vector<Rabbit<int> > rabbit;
 
 
template <typename T>
void Beast<T>::Start_Beast(int number_beasts, int beast_life, std::vector<T> &beast)
{
    return 1;
}
 
int main()
{
    Rabbit<void> rabbit0;
    rabbit0.Start_Beast(1,1,rabbit);
}
Ошибка:
last3.cpp: В функции «int main()»:
last3.cpp:28:32: ошибка: нет подходящей функции для вызова «Rabbit<void>::Start_Beast(int, int, std::vector<Rabbit<int> >&)»
last3.cpp:28:32: замечание: candidate is:
last3.cpp:20:6: замечание: void Beast<T>::Start_Beast(int, int, std::vector<T>&) [with T = void]
last3.cpp:20:6: замечание: no known conversion for argument 3 from «std::vector<Rabbit<int> >» to «std::vector<void, std::allocator<void> >&»
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.06.2012, 13:00     Ошибка при вызове метода
Посмотрите здесь:

C++ Меняют ли элементы в vector свои адреса при вызове метода push_back?
Segmentation fault при вызове метода C++
C++ ошибка при вызове деструктора!
C++ R6025 pure virtual function call при вызове метода, реализованного в дочернем классе
Ошибка при вызове деструктора C++
Ошибка при вызове метода QueryInterface C++
C++ Ошибка при вызове деструктора
Ошибка при вызове метода класса C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Avazart
 Аватар для Avazart
6906 / 5146 / 253
Регистрация: 10.12.2010
Сообщений: 22,640
Записей в блоге: 17
04.06.2012, 13:40     Ошибка при вызове метода #2
C++
1
2
Rabbit<void> rabbit0;
rabbit0.Start_Beast(1,1,rabbit);
Ну так в rabbit0 тип T=void , а в rabbit T=Rabbit<int> , нестыковочка...
no known conversion for argument 3 from «std::vector<Rabbit<int> >» to «std::vector<void, std::allocator<void> >&»
Yandex
Объявления
04.06.2012, 13:40     Ошибка при вызове метода
Ответ Создать тему
Опции темы

Текущее время: 11:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru