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

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

28.03.2012, 12:11. Показов 1001. Ответов 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,699
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,699
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
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение/ Перевод https:/ / **********/ gallery/ thinkpad-x220-tablet-porn-gzoEAjs . . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru