Examples of undefined behavior are data races, memory accesses outside of array bounds ...
не работает в общем-то ваше решение
return answer, x, c; не должен был родиться в твоем мозгу для функции с типом результата void. Написанное тобой в примере выдает твою полную безграмотность в языке. Даже большую, чем у Саши.T ведь - это просто какой-то тип, сразу транслятор его не определяет. А аргументом T может быть, например, std::vector<int>, вложенные типы которого выводятся только когда на них ссылаются и сами являются инстанцированиями шаблонов.T::Iterator только написано тривиально, а логика там очень серьезная скрыта.Помогите пожалуйста
typename при указании типа для i1. Точно ли они там нужен? Не пробовал оттранслировать код без typename в этом месте? и вроде даже уголовщина
Абсолютно новый проект и ошибки
int i;
int * pi;Обычно, если шаблонный тип внутри класса - то там всё логично. T или T* -реализует ровно тот тип, который передан в шаблонном аргументе или который будет выведен. А вот в этом примере ничего не понятно в этом смысле.
f1<int>(i); // f1<int>(i); // T == int // OK
f1<int*>(pi);// f1<int*>(pi); // T == int * // OK
f2<int>(&i); // f2<int>(&i); // i is int // &i is int* // T == int * // неправильно, T == int
f2<int>(pi); // f2<int>(pi); // pi is int * // T == int * // неправильно, T == int
f2<int*>(&pi); // f2<int*>(&pi); // T == int*Когда заменил ../pch.h на pch.h все заработало, но почему я не понимаю.
#include[?]. Подавляющее большинство профессиональных разработчиков сами не понимают как директива работает. Но это не значит что и тебе тоже можно.#include "". почему с пакой ошибка 1010
ошибка 2005
ошибка 1010
Да, стандарт языка кардинально влияет на доступные возможности. Смотри вот.
Допустим у тебя есть твоя
std::tuple<int, int, int> generator(). Это то, о чем написал Wataru. Принять результат ты можешь в такой же кортеж (C++11), можешь воспользоваться обобщением и инициализацией копией (C++11), а можешь воспользоватьсяstd::tie[?] для C++14 или структурным связыванием из C++17.И все будет зависеть именно от используемого тобой стандарта языка.
И вот, в C++17 у тебя получится такой код:
При том условии, что ты правильно воспользуешься техникой NRVO, структурное связывание у тебя не приведет к скрытому копированию значения, а все три поля из
mainбудут сразу инициализированы внутриgenerator.