clang++相关内容
我们正在使用奇怪的重复模板模式实现单例。但是,在最新的Clang版本中,我们会收到-Wundefined-var-template警告。建议的解决方案是添加“显式实例化声明”。 我尝试执行此操作,但是随后在编译单元(单例模板类成员变量的定义所在)中出现有关“实例化后显式专门化”的错误。 / p> 解决此警告突出显示的问题的合适结构是什么? 简体详细信息(已删除大部分逻辑,以制作M
..
为什么在以下情况下不能使用 enable_if ? 我想检测是否我的模板对象具有成员函数 notify_exit template class MyQueue { public: auto notify_exit()->类型名称std :: enable_if
..
当尝试混合clang(Apple LLVM 6.0版(clang-600.0.56)(基于LLVM 3.5svn,目标:x86_64-apple-darwin14.0.0),c ++ 11和CGAL)时,我遇到了一个有趣的问题(通过MacPorts)。 似乎我是否调用 std :: vector :: reserve 将确定我的程序是否可以编译。 我已将问题缩小为一个最小的示例(与
..
我在项目上尝试使用CLang 3.4和libc ++,但在发布模式下出现奇怪的链接错误: / home /wichtounet/dev/eddic/src/ast/Operator.cpp:17:错误:对 'std :: __ 1 :: basic_ostream& amp;的未定义引用; std :: _
..
最近,我读到了有关编译器对类中的成员进行排序的功能。从C ++ 11标准开始: §9.2.13 [... ]未指定具有不同访问控制的非静态数据成员的分配顺序。 我想知道它的外观喜欢在实践中。主要编译器(我对g ++,clang和msvc感兴趣)是否在某些情况下对类成员进行重新排序? 如果否,是否还会发生其他事情,从而导致不同的编译器上的对象布局不同(或使用不同的编译器标志时
..
我正在尝试以Ale作为我的林特,而后者又使用clang-check来完成我的代码。 $ clang-check FeatureManager.h 尝试加载编译数据库时出错: 无法自动检测文件“ FeatureManager.h”的编译数据库 在/ home / babbleshack /或任何父目录中找不到编译数据库 json-compilation-database:打开JSON数据
..
我正在编写一个C ++库,我想让我的API抛出无效参数的异常,但是当用 -fno-exceptions 。 是否可以在编译时检测是否允许我使用异常处理? 请注意,我正在编写仅标头的库,因此我没有 configure 阶段,也无法访问构建系统来访问只需在命令行上定义一个宏(并且 我不想给用户增加负担)。 由于标准没有“ -fno-exceptions”的概念,当然解决方案可能取决于编
..
我的C ++ 11代码中有一个警告,我希望正确修复,但我真的不知道如何解决。我已经创建了自己的异常类,该异常类是从 std :: runtime_error : class MyError:public std :: runtime_error { public: MyError(const std :: string& str,const std :: string& messa
..
以下代码包含一个fold表达式,afaiu是a的c ++ 17功能: template static bool variable_length_or(const T ... v){ return(v || ...); } bool foo(){ return variable_length_or(true,false,true,false);
..
Clang 3.9非常重用临时用户使用的内存。 此代码为UB(简化代码): 模板 class my_optional { public: bool has {false}; T值; 常量T& get_or_default(const T& def) { return has?值:def; } }; 无效使用(const std :
..
我一直错误地使用此命令,该命令在链接步骤失败: $ clang -std = c ++ 11 -stdlib = libc ++ myInputFile.cpp 有人可以解释为什么clang提供C ++语言选项,以及为什么它无法链接吗? strong>为什么选项 -x c ++ 或 -std = c ++ 11 不能完成与 clang ++ ?谢谢! 解决方案 从技术上讲,这两
..
对于临时对象,模板参数推论在Clang 6中似乎已被破坏。 g ++ 8.1.0编译并正确运行了示例。 Clang 6.0.0和6.0.2都在指示行显示以下错误: 错误:预期的unqualified-id Print {1,“ foo” s,2}; / **********用C语打破********** // 所有其他行均正常工作。 无论 -std
..
从一些谷歌搜索中可以看出,最近clang对Windows的支持正在改善,而boost对clang的支持也可能有所改善.但是我对于所有这些繁重的编译器配置工作还是相当陌生的,并且对它进行了全新的改进,所以我不确定当前的实际状态是什么. 我正在尝试运行命令: b2 --build-dir=build toolset=clang --build-type=complete stage
..
试图了解另一个问题,我简化了获取以下代码的示例. template struct foo { template auto bar (int i) { return i; } }; template template auto foo::bar (int i)
..
在C ++中考虑以下代码: #include std::size_t count(std::size_t n) { std::size_t i = 0; while (i
..
基本上,我的问题简而言之是我对setjmp和longjmp的实现 不起作用.我之所以不以这种形式询问(代码审阅)的原因是,我是汇编语言的新手,我几乎没有背景并且仍在学习,但仍不确定代码(请仔细阅读直到最后). 首先,我使用三个不同的编译器在两个平台上执行了代码 这就是为什么我确定我对汇编器做错了的原因. 平台:mac OS 10.12.5 x86_64,ubuntu linux x86
..
我刚刚将我的arch linux系统更新为最新版本,其中包括gcc 7.1.1.尝试构建它: #include int main(int argc, char** argv) { return 1; } 使用命令 clang++ main.cpp -std=c++1z 导致错误: In file included from main.c
..
我正在使用ndk21附带的clang ++编译我的C ++代码.我已经设置了两个编译器标志-fno-unwind-tables和-fno-asynchronous-unwind-tables,但是展开表中的条目数不会减少.我还通过设置相反的-funwind-tables和-fasynchronous-unwind-tables进行了检查,但是它们都不增加.设置-fno-exceptions确实会稍
..
我试图在Mac OS X 10.10上使用Clang和libc ++编译一个(专用)C ++软件,并且出现此错误: error: calling a private constructor of class 'std::__1::__wrap_iter' 完整错误消息此处. 有人可以解释此错误以及如何解决该错误吗? 一个很小的自包含代码示例会导致
..
以下代码在带有c声的mac osx上打印 0 .它会在其他任何地方打印 5 (( c , gcc ) #include #include int main() { std::istringstream iss("5C3"); double n; iss >> n; std::cout
..