Результаты поиска по запросу "decltype"
Почему decltype для строкового литерала не дает тип массива?
Стандарт определяет тип строкового литерала в §2.13.5 / 8 как:Обычные строковые литералы и строковые литералы UTF-8 также упоминаются как узкие строковые лит...
Что делает void () в auto f (params) -> decltype (…, void ()) '?
Я нашел кодВот [https://stackoverflow.com/a/9531274/1594090]это выглядело примерно так: auto f(T& t, size_t n) -> decltype(t.reserve(n), void()) { .. }Во всей прочитанной документации мне сказали, чтоdecltype подписано как: decltype( entity ...
Да, у него та же проблема.
ющий код: struct A { int f(int); auto g(int x) -> decltype(f(x)); };Не в состоянии скомпилировать с ошибкой: error: cannot call member function 'int B::f(int)' without objectЕсли я изменю это на: struct A { int f(int); auto g(int x) -> ...
Почему не удается разрешить область при наличии decltype?
Насколько я понимаю, decltype используется для запроса типа объектов / переменных и так далее. Из примеров, представленных в Википедии, таких как: int i; decltype(i) x3; // type is intЯ предположил, что мог сделать что-то вроде этого: class A ...
Является ли declval <T> () таким же, как (* (T *) nullptr)?
Являетсяdeclval<T>() просто замена старой уловки(*(T*)NULL) получить экземпляр T в типе decl, не беспокоясь о конструкторе T? Вот пример кода: struct A {}; struct B { A a; }; typedef decltype((*(B*)nullptr).a) T1; ...
Хороший улов! Я изменил заголовок в ответе. Спасибо!
я есть несколько классов, которые я не могу изменить. У каждого есть конструктор копирования, по крайней мере, один другой конструктор и функцияfoo() это возвращает некоторое значение. Я хочу создать шаблон класса, который может быть производным ...
Ошибка с использованием decltype () в C ++ 11 (создание непрозрачного сообщения об ошибке в gcc 4.7.0)
со следующим кодом (версия моего оригинального кода)