Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
'argument' : argumento de modelo inválido para 'type', expressão constante esperada em tempo de compilação
Observações
O argumento template não corresponde à declaração do modelo; uma expressão constante deve aparecer entre colchetes angulares. As variáveis não são permitidas como argumentos reais do modelo. Verifique a definição do modelo para encontrar os tipos corretos.
Examples
O exemplo a seguir gera C2975 e também mostra o uso correto:
// C2975.cpp
template<int I>
class X {};
int main() {
int i = 4, j = 2;
X<i + j> x1; // C2975
X<6> x2; // OK
}
C2975 também ocorre quando você usa __LINE__ como uma constante de tempo de compilação com /ZI. Uma solução seria compilar com /Zi em vez de /ZI.
// C2975b.cpp
// compile with: /ZI
// processor: x86
template<long line>
void test(void) {}
int main() {
test<__LINE__>(); // C2975
}