c++17 相关问题

C ++ 17是2017年批准的C ++标准的名称。它基于以前的C ++ 14标准,改进了核心语言和标准库,并添加了一些新的语言功能。

2012 使用 IBM MQ 类 C++ 时出现 MQRC_ENVIRONMENT_ERROR

我正在使用适用于 Linux 的 IBM MQ(版本 9.3.0.16)可再发行库在队列管理器和我的示例 C++ 应用程序之间设置通信通道。我的目标是异步获取消息...

回答 1 投票 0

C++ Kokkos 将仿函数列表作为参数传递给函数

我的函子定义如下- 结构体f1{ KOKKOS_INLINE_FUNCTION void 运算符()() const{ printf("函子 1 ”); }; }; 结构体f2{ KOKKOS_INLINE_FUNCTION ...

回答 1 投票 0

如何故意丢弃 [[nodiscard]] 返回值?

说我有 [[nodiscard]] int foo () { 返回0; } int 主函数 () { 富(); } 然后 错误:忽略使用属性 nodiscard 声明的“int foo()”的返回值 [-Werror=unused-result] 布...

回答 6 投票 0

[虚幻 5.4]Gauntlet 测试无法在程序集中找到“MyTest”测试

我正在尝试使用 Gauntlet 进行简单的测试,例如 helloworld 类型的方法,我已经设置了 C++ testcontroller .cpp 和 .h 以及 HelloworldTest.cs 还在我的项目的 Build.cs 文件中添加了 Gauntlet...

回答 1 投票 0

返回三角形所能达到的最大高度

给你两个整数红色和蓝色,分别代表红色和蓝色球的数量。你必须将这些球排列成一个三角形,使得第一行有 1 个球,第二行......

回答 1 投票 0

错误 C2679:二进制 '<<': no operator found which takes a right-hand operand of type 'main::<lambda_1>'(或没有可接受的转换)

我正在学习在cpp中编写lamda表达式,下面是使用Visual Studio 2022 Windows的代码 #包括 使用命名空间 std; int main() { 整数 k = 98; 整数 l = 23; 自动LM...

回答 1 投票 0

将带有捕获的 lambda 传递到另一个 lambda 中,导致捕获总是发生(?)

情况 lambda h() 始终访问非 constexpr 变量 k。 如果我使用 if constexpr(false){h();} , k 将永远不会被捕获。 但是如果我将 h() 传递给另一个函数 g,例如 g(h),k 将始终...

回答 1 投票 0

等待同一个条件变量时可以使用两个不同的互斥锁吗?

考虑以下场景: 线程1 互斥锁Lk1_ gcondVar_.wait(mutexLk1); 线程2 互斥Lk2_ gcondVar_.wait(mutexLk2); 线程3 条件变量_ gcondVar_.notify_all(); 我观察到的是,notify_all() d...

回答 2 投票 0

std::get_if (std::variant) 通过指针而不是通过值/&/const& 获取变体参数是否有任何实际原因?

我从未使用过 std::get_if,并且由于它的名称与 std::get 不同,我看不出它的参数应该是指针的原因(而 std::get 有一个按引用范围)。 ``如果是n...

回答 3 投票 0

Android NDK:C++17 中 std::execution 出现编译错误

我正在尝试使用依赖于 C++17 功能 std::execution 的 Android NDK 编译 C++ 程序。 在构建过程中,我遇到以下错误: 错误:

回答 1 投票 0

SFML 音频视觉工作室

我正在使用 Visual Studio 运行一个简单的 SFML 代码,该代码呈现一个圆圈并播放音频。我试图在渲染发生之前和渲染窗口关闭之后播放音频, 但为了...

回答 1 投票 0

使用 std::enable_if<> 来避免模棱两可的模板化二元运算符重载

我想使用 std::enable_if<> 来避免 MyClass*otherT 与 otherT*MyClass 与 MyClassT*MyClassT 中的歧义重载运算符*(T,U)(或重新定义) 可以说 MyClass 声明是: 寺庙...

回答 2 投票 0

noexcept 表达式的条件

请告诉我在这种情况下我是否正确定义了 noexcept 表达式的条件? 类计划主机端口 { 民众: 使用 value_type = std::string; 方案_主机_PO...

回答 1 投票 0

检查模板参数是否对应于函数指针

我怎样才能做到这一点?目前出现以下编译错误 错误:成员指针引用非类类型“Test *” 6 | if constexpr (std::is_same 我怎样才能做到这一点?目前出现以下编译错误 error: member pointer refers into non-class type 'Test *' 6 | if constexpr (std::is_same<MethodT, void (ObjectT::*)(int)>::value) #include <type_traits> template<typename MethodT, typename ObjectT> void RegisterCallback(MethodT method, ObjectT object) { if constexpr (std::is_same<MethodT, void (ObjectT::*)(int)>::value) { // do something } if constexpr (std::is_same<MethodT, void (ObjectT::*)(int, float)>::value) { // do something else } } int main() { struct Test { void HandleCallbackWithInt(int) {} void HandleCallbackWithIntFloat(int, float) {} } receiver; RegisterCallback(&Test::HandleCallbackWithInt, &receiver); return 0; } 当您将 &receiver 传递给 ObjectT object 时,ObjectT 会被推导为 Test*,并且 ObjectT::* 对于指针类型 ObjectT 无效。你可能想要 template<typename MethodT, typename ObjectT> void RegisterCallback(MethodT method, ObjectT* object) // ------------------------------------------^ 和 ObjectT 将被推导为 Test。

回答 1 投票 0

通过将数组本身作为引用参数来初始化数组是否合法?

在问题 Idiom for Initializing an std::array using a Generator Function Take the Index? 中,它基本上询问如何初始化任意类型的数组,而这不一定是

回答 1 投票 0

使用采用索引的生成器函数初始化 std::array 的惯用语?

假设我有一个函数T foo(size_t i),并且我想构造一个std::array类型的对象arr,使得arr[i] == foo(i)。我想要一个即使 T 不存在也能工作的解决方案...

回答 1 投票 0

如何确保 C++ 类模板中非静态数据成员的正确初始化

我正在使用 C++ 中的模板,想知道如何正确(值)初始化类模板中的非静态数据成员。例如,考虑以下代码片段: 模板<

回答 2 投票 0

是否可以在编译前检查头文件中的 std::execution::par ?

我使用的是 Mac Ventura 13.6.4。当我在线研究 标头时,我了解到尝试编译某些执行策略时存在问题。例如,使用

回答 1 投票 0

如何在 C++ 中高效地使用 std::variant 进行错误处理?

我最近开始探索在现代 C++(C++17 及更高版本)中使用 std::variant 来处理错误并同时从函数返回值,有点类似于 Rust 的 Result 类型。我

回答 1 投票 0

在 Linux 中使用 g++ 编译器编译 {fmt} 包含文件时,出现类是私有的且无法从外部访问的错误

我正在使用 #include 在我的 C++ 应用程序中格式化 std::array #包括 #包括 int main() { std::array 一个...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.