Preguntas etiquetadas con clang

Para preguntas sobre el compilador clang LLVM front-end. Para preguntas generales sobre C, use la etiqueta C.


1
¿Cuál es el significado de clang's -Wweak-vtables?
Básicamente no entiendo los clang's -Wweak-vtables. Esto es lo que observé hasta ahora: Caso uno: (activa la advertencia) class A { public: virtual ~A(){} }; class B : public A { public: virtual ~B(){} }; int main(){} Caso dos: (no activa la advertencia) class A { public: virtual ~A(){} }; …
78 c++  clang 

9
Catalina C ++: el uso de encabezados <cmath> produce un error: ningún miembro llamado 'signbit' en el espacio de nombres global
Después de actualizar a Catalina desde Mojave, Configuración: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk en el entorno. No puedo compilar un programa que use &lt;cmath&gt;encabezado. Traté de cambiar CFLAGS, CCFLAGS, CXXFLAGS para señalar la ubicación MacOSSDK que no cambia nada Scanning dependencies of target OgreMain /Applications/Xcode.app/Contents/Developer/usr/bin/make -f OgreMain/CMakeFiles/OgreMain.dir/build.make OgreMain/CMakeFiles/OgreMain.dir/build [ 0%] Building CXX object OgreMain/CMakeFiles/OgreMain.dir/src/OgreASTCCodec.cpp.o …

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 &lt;iostream&gt; #include &lt;type_traits&gt; #include &lt;set&gt; template&lt;typename T, typename = void&gt; struct TestA: std::false_type {}; template&lt;typename T&gt; struct TestA&lt;T, std::void_t&lt;typename T::reverse_iterator&gt;&gt; : std::true_type {}; template&lt;typename T&gt; struct TestA&lt;T, …

1
¿Por qué std :: swap no funciona en elementos vectoriales <bool> en Clang / Win?
Tengo un código como este: #include &lt;vector&gt; #include &lt;utility&gt; int main() { std::vector&lt;bool&gt; vb{true, false}; std::swap(vb[0], vb[1]); } Argumentos sobre la cordura de vector&lt;bool&gt;un lado, esto estaba funcionando bien en: Clang para Mac Visual Studio para Windows GCC para Linux Luego intenté compilarlo con Clang en Windows y recibí el …





3
¿Se puede convertir nullptr a uintptr_t? Diferentes compiladores no están de acuerdo
Considere este programa: #include &lt;cstdint&gt; 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: &lt;source&gt;(5): error C2440: '&lt;function-style-cast&gt;': cannot convert from 'nullptr' to 'my_time_t' &lt;source&gt;(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
Problema en GCC / C ++ 17 con la clase de plantilla de plantilla
Considere las 2 siguientes sobrecargas template&lt;typename T&gt; bool test() { return true; } template&lt;template&lt;typename ...&gt; class T&gt; bool test() { return false; } El primero funciona para clases regulares, mientras que el segundo funciona para plantillas que no se instancian. Por ejemplo: std::cout&lt;&lt;test&lt;int&gt;()&lt;&lt;std::endl; &lt;-- this yields 1 std::cout&lt;&lt;test&lt;std::list&gt;()&lt;&lt;std::endl; &lt;--this yields …
10 c++  templates  gcc  clang  c++17 

2
Deducción no coincidente de tipos automáticos entre diferentes compiladores de c ++
Entonces, estoy tratando de implementar el producto punto ( https://en.wikipedia.org/wiki/Dot_product ) en un poco de C ++ moderno y se me ocurrió el siguiente código: #include &lt;iostream&gt; template&lt;class... Args&gt; auto dot(Args... args) { auto a = [args...](Args...) { return [=](auto... brgs) { static_assert(sizeof...(args) == sizeof...(brgs)); auto v1 = {args...}, i1 …


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.