неконстантное нетипичное выражение внутри шаблона - PullRequest
1 голос
/ 08 апреля 2020

Я пытался найти это, но не смог. Я новичок в программировании шаблонов C ++. У меня есть такая ситуация: не может использоваться в постоянном выражении.

1 Ответ

0 голосов
/ 09 апреля 2020

Вы не можете использовать operator ==, поскольку dataType известен только во время выполнения. Здесь вы в основном пытаетесь создать mimi c C -союзы, которые совершенно не связаны с шаблонами. Обратите внимание, что как только вы получите SomeClass в качестве параметра, вы не сможете на самом деле различать guish между базовыми типами во время компиляции.

Я бы предложил этот код:

#include <bits/stdc++.h>

template<typename T, typename U>
void add(T* a, U* b)
{
    using aDataType = T; // Unnecessary, but for the example
}

int main()
{
    int i = 4;
    float f = 4.3;

    add(&i, &f);
    return 0;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...