Preguntas etiquetadas con visual-c++

Microsoft Visual C ++ es un compilador C, C ++ y C ++ / CLI para Windows. La versión más reciente del compilador es Visual C ++ 2019. El compilador admite los siguientes lenguajes: C (admite C90 y la mayoría de las partes C99 y C11 del estándar ISO C ++ a partir de Visual Studio 2019); C ++ (soporte para la mayoría de las características de C ++ 11, C ++ 14 y C ++ 17 y algunas características de C ++ 20 a partir de Visual Studio 2019) C ++ / CLI (Proporciona interoperabilidad con lenguajes .NET como C #).


4
error LNK2005: xxx ya definido en MSVCRT.lib (MSVCR100.dll) C: \ algo \ LIBCMT.lib (setlocal.obj)
Estoy usando la biblioteca DCMTK para leer archivos Dicom (formato de imagen utilizado en el procesamiento de imágenes médicas). Tengo un problema al compilar este código fuente DCMTK. DCMTK utiliza algunas bibliotecas externas adicionales (zlib, tiff, libpng, libxml2, libiconv). Sé que todas las bibliotecas deben generarse con las mismas opciones …

2
¿Cómo funciona este código de plantilla para obtener el tamaño de una matriz?
Me pregunto por qué este tipo de código puede obtener el tamaño de la matriz de prueba. No estoy familiarizado con la gramática en la plantilla. Tal vez alguien podría explicar el significado del código a continuación template<typename,size_t>. Además, también se prefiere un enlace de referencia. #define dimof(array) (sizeof(DimofSizeHelper(array))) template …
61 c++  visual-c++ 

2
int numeral -> reglas de conversión de puntero
Considere el siguiente código. void f(double p) {} void f(double* p) {} int main() { f(1-1); return 0; } MSVC 2017 no compila eso. Se da cuenta de que hay una llamada sobrecargada ambigua, ya que 1-1es lo mismo 0y, por lo tanto, se puede convertir double*. Otros trucos, como …
19 c++  visual-c++  types 

1
Clang no compila código, pero gcc y msvc lo compilaron
No entiendo cuál es el problema: ya sea en mi código o en el compilador (menos posible). Hay un código como este: #include <iostream> #include <type_traits> #include <set> template<typename T, typename = void> struct TestA: std::false_type {}; template<typename T> struct TestA<T, std::void_t<typename T::reverse_iterator>> : std::true_type {}; template<typename T> struct TestA<T, …

1
Posible error del compilador en MSVC
El siguiente código se compila con gcc y clang (y muchos otros compiladores de C ++ 11) #include <stdint.h> typedef int datatype; template <typename T> struct to_datatype {}; template <> struct to_datatype<int16_t> { static constexpr datatype value = 1; }; template <typename T> class data { public: data(datatype dt = …
13 c++  c++11  visual-c++ 


3
¿Se puede convertir nullptr a uintptr_t? Diferentes compiladores no están de acuerdo
Considere este programa: #include <cstdint> using my_time_t = uintptr_t; int main() { const my_time_t t = my_time_t(nullptr); } No se pudo compilar con msvc v19.24: <source>(5): error C2440: '<function-style-cast>': cannot convert from 'nullptr' to 'my_time_t' <source>(5): note: A native nullptr can only be converted to bool or, using reinterpret_cast, to …
10 c++  c++11  gcc  visual-c++  clang 


1
¿Puede un compilador colocar la implementación de un destructor virtual declarado implícitamente en una sola unidad de traducción separada?
El siguiente código compila y enlaza con Visual Studio(tanto 2017 como 2019 con /permissive-), pero no compila con ninguno gcco clang. foo.h #include <memory> struct Base { virtual ~Base() = default; // (1) }; struct Foo : public Base { Foo(); // (2) struct Bar; std::unique_ptr<Bar> bar_; }; foo.cpp #include …
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.