小编r w*_*bby的帖子

应用程序验证程序无法在 3 台单独的 Windows 机器上启动

简单地说,我无法运行 App verifier(WOW 或 64 位)。它根本没有开始。事件查看器说:

错误的应用程序名称:appverif.exe,版本:10.0.18362.1,时间戳:0x58ca3409 错误的模块名称:ntdll.dll,版本:10.0.18362.1139,时间戳:0x335bbdaf 异常代码:0xc000003030000000000000 偏移量应用程序启动时间:0x01d6aa7ad4a12bf6 错误的应用程序路径:C:\Windows\SysWOW64\appverif.exe 错误的模块路径:C:\WINDOWS\SYSTEM32\ntdll.dll 报告 ID:235c3a4d-2d54-4436-99bf-b59a7f7f

此外,我尝试在 Visual Studio 下运行 appverif.exe(在系统和 syswow64 中),我看到:

应用程序验证程序在 Visual Studio 调试器中崩溃

编辑(根据评论更新)有些人建议应用程序验证程序没有 GUI。但是,上次运行它时,我看到了以下内容:

应用验证器 GUI

windows debugging application-verifier visual-c++

13
推荐指数
2
解决办法
2551
查看次数

SFINAE断言()代码不编译

我确信必须能够将SFINAE(可能带有宏)用于static_assert(),而仲裁代码将无法编译.

在我的代码库中有一些复杂的情况,我有一个我想禁止临时的类(我相信模式是):

class(const class&& tmp)=delete; /* deny copying from an unnamed temporary */
class (class&& rhs){/* allow construction from non-temporary rvalue*/}
Run Code Online (Sandbox Code Playgroud)

目前,我检查一个不需要的构造函数不能编译,但当然我必须将它注释掉以便再次编译测试!

如果我能做到:

static_assert(DOES_NOT_COMPILE(myclass_t("Hello")));

const char* help = "HELP";
static_assert(!DOES_NOT_COMPILE(myclass_t(help))); 
// COMPILES() might be better here :-)
Run Code Online (Sandbox Code Playgroud)

这对我有很大的帮助,但我似乎无法找到一般的SFINAE解决方案.仅限C++ 14,所以:

if constexpr
Run Code Online (Sandbox Code Playgroud)

不可用.

c++ sfinae c++14

7
推荐指数
1
解决办法
407
查看次数

rangev3 ts中"范围"和"视图"之间的区别是什么?

rangev3 ts中"范围"和"视图"之间的区别是什么?

在G搜索上找不到任何类似的答案.猜猜我正在努力解决每个人应该做的事情:

是这样的(在c ++中说)范围'是'a'视图,反之亦然?

它只是一个视图是只读范围吗?或者也许是范围中的"元素"(当你取消引用迭代器时得到的)是const而不是另一个?

谢谢!

c++ range-v3

0
推荐指数
1
解决办法
123
查看次数