Perguntas com a marcação «c++»

C ++ é uma linguagem de programação de uso geral. Foi originalmente projetado como uma extensão para C e tem uma sintaxe semelhante, mas agora é uma linguagem completamente diferente. Use esta tag para perguntas sobre o código (a ser) compilado com um compilador C ++. Use uma tag específica da versão para perguntas relacionadas a uma revisão padrão específica [C ++ 11], [C ++ 14], [C ++ 17] ou [C ++ 20] etc.








4
Conversão implícita não permitida no retorno
#include <optional> bool f() { std::optional<int> opt; return opt; } Não compila: 'return': cannot convert from 'std::optional<int>' to 'bool' Referência de consultoria Eu teria pensado em encontrar uma explicação, mas li como deveria estar ok. Conversões implícitas são executadas sempre que uma expressão de algum tipo T1 é usada no …



4
Como chamar o construtor certo de um tipo de modelo?
No código a seguir, como posso fazer com que a linha comentada funcione da mesma maneira que a linha acima dela? Gostaria de torná-lo um código genérico, que chama o construtor adequado de um modelo Type. #include <string> #include <iostream> template <typename Type> struct Class { Type data; Class(Type data) …

5
Definir operação em c ++ (atualizar valor existente)
Aqui está o meu código: while (it!=s.end()) //here 's' is a set of stl and 'it' is iterator of set { *it=*it-sub; //'sub' is an int value it++; } Não consigo atualizar o valor de definido pelo iterador. Eu quero subtrair um valor inteiro 'sub' de todo o elemento do …
21 c++ 



1
Por que {} como argumento de função não leva à ambiguidade?
Considere este código: #include <vector> #include <iostream> enum class A { X, Y }; struct Test { Test(const std::vector<double>&, const std::vector<int>& = {}, A = A::X) { std::cout << "vector overload" << std::endl; } Test(const std::vector<double>&, int, A = A::X) { std::cout << "int overload" << std::endl; } }; int …

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.