Вопросы по теме 'non-type'
локальная переменная как аргумент шаблона нетипа
Я хочу сделать что-то вроде следующего:
Example(&Class::MemberFunction, this));
//...
template<class T_CLASS>
inline static void Example(void (T_CLASS::*MemberFunctionPointer)(), T_CLASS* InstancePointer)
{...
3932 просмотров
schedule
05.06.2022
Неверно ли, что gcc не диагностирует сужающие преобразования в аргументах шаблона, отличного от типа?
Следующая программа компилируется без ошибок и предупреждений с помощью gcc 4.8.1, -Wall -std=c++11 :
template<unsigned N>
struct A{};
int main(){
A<1-2> a;
(void)a;
return 0;
}
clang 3.3 с теми же параметрами выдает...
1198 просмотров
schedule
25.03.2022
Проверка времени компиляции параметра нетипового шаблона С++
У меня есть класс С++ с двумя параметрами шаблона, отличными от типа:
Измерение типа size_t и постоянная ссылка на вектор объектов.
template <size_t DIMENSION, const std::vector<Tuple>& BORDERS>
class Rule {
public:...
368 просмотров
schedule
18.04.2022
Нетиповые (справочные) параметры шаблона и связь
В следующих,
int i{3};
const int j{3};
extern const int k{3};
template <typename T, T&>
void f() {}
int main()
{
f<int, i>(); // OK
f<int const, j>(); // not valid template argument: 'j' has not external...
1388 просмотров
schedule
07.04.2022
Могу ли я использовать параметр типа в шаблоне для параметра, не являющегося типом?
Я хочу иметь квалифицированную инициализацию класса по умолчанию, даже если конструктор не имеет параметров.
Поэтому я пытаюсь установить значение по умолчанию с определением шаблона, попробовав что-то вроде этого ниже. Инициализировать параметр...
85 просмотров
schedule
08.02.2023
Создание экземпляра шаблона не типовым параметром
template<typename T, T MIN , T MAX>
struct Range
{
const T min;
const T max;
Range():min(MIN),max(MAX){};
};
template<>
struct Range<float32, MIN, MAX>
{
typedef float32 T;
const T min;
const T max;...
25 просмотров
schedule
13.11.2022
Можно ли использовать лямбды в качестве параметра шаблона, не являющегося типом?
Допустим ли следующий код?
template <auto Lambda>
struct A {};
int main () {
auto lmb = [](int i){return i*i;};
A<lmb> a;
return 0;
}
Я заметил, что g ++ отлично его компилирует, а clang ++ возвращает error: a non-type...
165 просмотров
schedule
14.03.2022