Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705

Есть объект типа T, но если вместо него подставить вызов функции, возвращающей T, код не компилится, почему?

28.03.2012, 12:11. Показов 1017. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть объект типа vector<int>, но если вместо него подставить вызов функции, возвращающей vector<int>, код не компилится (template мутит воду), почему?

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
30
31
32
33
34
#include <windows.h>
#include <stdio.h>
#include <vector>
using namespace std;
 
 
//Всё просто вот класс
template <class T, template <class, class > class t, class t_= allocator<T> >
class klass  {
 public:
  klass (t<T, t_>& prom){;};
};
 
 
Функция, возвращающая vector<int>
vector <int> f () {
 vector<int> kazhdoe_pole;
 return kazhdoe_pole ;
} 
 
 
int main () {
 
//Тут всё круто 
vector<int> p;
klass<int, vector> klass_(p);
p= f();
 
//А вот тут, если раскомменитить, не компилится! 
// klass<int, vector> klass__(f());
 
 getchar ();
 return 0;
}
Ошибки такие:
no matching function for call to 'klass<int, std::vector>::klass(std::vector<int>)

Ну и чё всё это значит? Спасибо, кто откликнется
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.03.2012, 12:11
Ответы с готовыми решениями:

Есть объект. Если на него нажимаешь дается 100 очков
Есть объект. Если на него нажимаешь дается 100 очков. Если еще раз нажимаешь дается еще 100. Как это написать и чтоб очки эти суммировались?

Класс содержащий объект типа ofstream - не компилится!
Здравствуйте! Помогите пожалуйста!=) есть код: #include &lt;fstream&gt; class Monstr {

вызов функции возвращающей значение без использования этого значения
Взято из работающего кода отсюда Есть функция: uint8_t wg12232_read(uint8_t chip) { wg12232_set_data_port_direction(0x00); ...

5
 Аватар для soon
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
28.03.2012, 12:19
Если я правильно вас понял, то проблема в этом
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
#include <iostream>
#include <vector>
 
struct Foo
{
    Foo(std::vector<int>&)
    {
 
    }
};
 
std::vector<int>& func1()
{
    std::vector<int> v;
    return v;
}
 
std::vector<int> func2()
{
    std::vector<int> v;
    return v;
}
 
int main()
{
    Foo f1(func1());
    //Foo f2(func2());
}
0
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
28.03.2012, 12:30  [ТС]
Нет. Проблема в том, как мне вместо вектора подставить вызов функции, этот вектор возвращающей. Да не абы куда, а в конструктор объекта шаблонного класса; определение класса я дал.
0
 Аватар для soon
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
28.03.2012, 12:34
kravam, у вас функция возвращает значение, а конструктор принимает ссылку.
0
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
28.03.2012, 12:38
kravam, по константной ссылке надо принимать. Функция возвращает временный объект, который по стандарту может быть принят либо по значению, либо по константной ссылке.
1
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
28.03.2012, 12:47  [ТС]
другой коленкор
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.03.2012, 12:47
Помогаю со студенческими работами здесь

Какие выражения будут истинными, если вместо переменной Х подставить значение 1 ?
Если вместо переменной Х подставить значение Х=1, то истинными будут выражения: 1) not((x&gt;1) and (x&lt;5)) 2) (x&lt;1) or (x&gt;5) ...

Хорошо ли использовать унарный плюс вместо функции получения модуля? Если нет, то почему?
...

Работа со строками. Дано слово. Удалить из него букву О, если такая есть. Удалить из него последнюю букву Л, если такая есть
Привет! Нужна помощь по задачке по паскалю. Пожалуйста помогите! Задание: Дано слово. Удалить из него букву О, если такая есть....

Почему код компилится и логика верна, а результаты арифм. операций нет?
задача состоит в создании двух массивов склавиатуры и суммы их елементов вместе и поотдельности.Аналогично с разницей. program...

Почему нехорошо себя ведёт конструктор класса (не компилится ничё), если ему параметром ссылку на константу?
То есть вообще непонятно ничё, вот, смотрите, этот пример не компилится: #include &lt;stdio.h&gt; class fee { public: //Не...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru