Entrar com a conta da Microsoft
Entrar ou criar uma conta.
Olá,
Selecionar uma conta diferente.
Você tem várias contas
Escolha a conta com a qual você deseja entrar.

Sintomas

Quando você tentar declarar um modelo de função variadic como um amigo de um modelo de classe, o compilador C++ retornará uma mensagem de erro em vez de aceitar o código. Por exemplo, quando você faz a seguinte declaração:

template<typename T>
struct B { };

template<typename... Types>
struct C { };

template<typename... Types, typename U>
void f(C<Types...>, B<U>)
{
}

template<typename T>
class A {
	template<typename... Types, typename U>
	friend void f(C<Types...>, B<U>);
};

int main()
{
    f(C<int>{}, B<int>{});
    A<int> a{};
};

Você pode receber a seguinte mensagem de erro:

Erro C2783: 'void f (C < tipos... >, < U > B)': não foi possível deduzir o argumento de modelo para 'U'

Causa

O motivo é que o compilador C++ não pode corresponder a declaração da função amigo para uma declaração existente.

Resolução

Esta atualização está disponível no Centro de Download da Microsoft.

Centro de Download da Microsoft

Para obter mais informações sobre como baixar arquivos de suporte da Microsoft, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento da Microsoft:

119591 Como obter arquivos de compatibilidade da Microsoft nos serviços online

A Microsoft examinou esse arquivo em busca de vírus. A Microsoft usou o software de detecção de vírus mais recente que estava disponível na data em que o arquivo foi publicado. O arquivo está armazenado em servidores com segurança avançada que ajudam a evitar qualquer alteração não autorizada no arquivo.

Pré-requisitos:

Esse hotfix requer o Visual Studio 2015 atualização 3.

Informações sobre reinicialização

Você terá que reiniciar o computador após aplicar esse hotfix.

Informações sobre substituição

Esse hotfix não substitui nenhum hotfix lançado anteriormente.

Informações sobre o arquivo:

A versão em inglês deste hotfix possui os atributos de arquivo (ou atributos de arquivo posteriores) listados na tabela a seguir. As datas e horas desses arquivos estão listadas na Hora Universal Coordenada (UTC). Quando você exibe as informações do arquivo, ele é convertido para a hora local. Para localizar a diferença entre o UTC e a hora local, use a guia Fuso Horário no item Data e Hora no Painel de Controle.

Nome do Arquivo

Versão do arquivo

Tamanho do arquivo

Data

Hora

Plataforma

VC14-KB4096429.exe

14.0.24240

19,177,304

04/19/2018

02:32 AM

X86

Solução alternativa

Para contornar esse problema, não declarar o variadic função modelo como um amigo de um modelo de classe.

Precisa de mais ajuda?

Quer mais opções

Explore os benefícios da assinatura, procure cursos de treinamento, saiba como proteger seu dispositivo e muito mais.

As comunidades ajudam você a fazer e responder perguntas, fazer comentários e ouvir especialistas com conhecimento avançado.

Essas informações foram úteis?

Qual é o seu grau de satisfação com a qualidade do idioma?
O que afetou sua experiência?
Ao pressionar enviar, seus comentários serão usados para aprimorar os produtos e serviços da Microsoft. Seu administrador de TI poderá coletar esses dados. Política de Privacidade.

Agradecemos seus comentários!

×