草庐IT

ref_this

全部标签

C++,在静态成员函数中使用 'this' 的宏解决方法

我已经覆盖了new以便我可以跟踪内存分配。__FILE__、__LINE__、模块名称等附加参数添加到#define中。但是我想将调用对象的地址添加到参数中,以便在查找问题时可以回溯分配。最简单的方法是将“this”添加到那些附加参数中(这意味着调用者的地址被传递到我的自定义分配内容中)。不幸的是,我们的代码中有很多单例,这意味着一堆调用new的静态成员函数。编译器抛出错误C2671:'...':staticmemberfunctionsdonothave'this'pointers是否有一种解决方法,我可以在不使用this的情况下获取对象的地址,这也将实现它在静态方法中并传递null

windows - "This file contained a virus and was deleted"在我构建(和代码签名)的可执行文件上

我已经构建了一个Windows可执行文件(使用MSVC++),需要管理员权限才能运行(它索引文件);我什至使用我购买的代码签名证书对其进行了代码签名。它在Win7、Win8上运行良好,但在Windows10上,如果我从浏览器下载文件,那么我会从IE/Edge收到此消息:Thisfilecontainedavirusandwasdeleted并且(非高级用户)用户几乎不可能访问ZIP、解压缩并运行.exe。(找到合适的检疫地点,解除检疫等等都是非常复杂的;而且对于商业产品来说也是不行的)很明显是误报(我没有病毒,用了很多杀毒软件都查过了,还有https://www.virustotal.

windows - 尝试在 Windows 中启动 Zookeeper 时出现 "log4j.properties was unexpected at this time"

我正在使用从Confluent(http://www.confluent.io/product/kafka-streams/)下载的kafka流。我按照说明在Windows上运行Zookeeper和Kafka。但是当我尝试使用命令启动ZooKeeper时D:\Softwares\confluent-3.0.1\bin\windows>zookeeper-server-start.bat./etc/kafka/zookeeper.properties,我得到错误D:\Softwares\confluent-3.0.1\bin\windows../../etc/kafka/log4j.pr

windows - 未找到 Qt 创建者 : This application has failed to start because MSVCP110. dll

鉴于我为我的“WindowsVista”下载了“Qt64bitversion”,安装后,“QtCreator2.7.0”显示它基于“Qt5.0.2(32bit)”。但是,在创建新项目或打开现有项目时,会出现以下消息:此应用程序未能启动,因为未找到MSVCP110.dll。请注意,消息框本身的标题为“uic.exe-无法定位组件”。但是当我点击“确定”按钮时,它会创建项目(或打开它)。为什么会这样? 最佳答案 安装MSVC2012dll应该有所帮助:http://www.microsoft.com/en-us/download/det

windows - Hyper-V 导致错误 "sorry, this application cannot run under a virtual machine"

在Windows中安装Hyper-V后,在我的Windows中运行游戏时出现以下错误。当然我不是在虚拟机中运行它。我想在安装了Hyper-V的PC上运行游戏。sorry,thisapplicationcannotrununderavirtualmachine即使我试图在Hyper-V管理中停止Hyper-V服务,但这对我不起作用,我得到了同样的错误。请帮我找到解决方案。谢谢。 最佳答案 我找到了一个很好的解决方案。在引导加载程序中创建一个条目,以便在重新启动系统时通过选择该选项不会启动管理程序。这是执行此操作的步骤:1.在命令提示符

Windows 10 不断循环 "How do you want to open this file?"对话框

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎不是关于aspecificprogrammingproblem,asoftwarealgorithm,orsoftwaretoolsprimarilyusedbyprogrammers的.如果您认为这个问题是关于anotherStackExchangesite的主题,您可以发表评论,说明问题可能在哪里得到解答。关闭5年前。Improvethisquestion我双击一个xml文件。Windows10询问我“你想如何打开这个文件?”我进行选择并单击确定我2点回来(重复一遍,永远......)

Windows 8.1 无法从 cmd 或 powershell 提示符启动 Powershell - "This app can' t run on your PC"

Powershell突然停止从cmd和powershell提示符打开。在它正常工作和停止工作之间我没有安装任何新东西。当我尝试使用以下命令从cmd窗口(提升和未提升)启动powershell.exe时C:\Users\myuser>powershell.exe我收到操作系统的弹出式错误消息:Thisappcan'trunonyourPC一旦我关闭那个弹出窗口,cmd提示我就从那里开始调用,然后打印:Accessisdenied到屏幕(是的,即使我在提升的cmd提示符下执行此操作)当我尝试使用以下命令在powershell中执行此操作时:PSC:\Users\myuser>powersh

c# - 如何调用重载的 c# 函数,唯一的区别是在 c++/cli 中是否通过 ref 传递参数

我有一个带有重载方法的C#类库,一个方法有一个ref参数,另一个有一个value参数。我可以在C#中调用这些方法,但在C++/CLI中无法正确调用。编译器似乎无法区分这两种方法。这是我的C#代码namespacetest{publicclasstest{publicstaticvoidfoo(inti){i++;}publicstaticvoidfoo(refinti){i++;}}}和我的C++/CLI代码intmain(array^args){inti=0;test::test::foo(i);//errorC2668:ambiguouscalltooverloadedfuncti

c# - 如何使用反射调用带有 ref/out 参数的方法

假设我有以下类(class):classCow{publicstaticboolTryParse(strings,outCowcow){...}}是否可以通过反射调用TryParse?我知道基础知识:vartype=typeof(Cow);vartryParse=type.GetMethod("TryParse");vartoParse="...";varresult=(bool)tryParse.Invoke(null,/*whataretheargs?*/); 最佳答案 你可以这样做:staticvoidMain(string[

c# - 如何测试 C# ref 参数是否引用相同的项目

在C#中给定一个具有以下签名的函数publicstaticvoidFoo(refintx,refinty)如果函数是用调用的intA=10;Foo(refA,refA)在函数Foo中是否可以测试x和y参数引用同一个变量?对x和y进行简单的等效测试是不够的,因为在两个不同变量具有相同值的情况下也是如此。 最佳答案 如果你愿意使用不安全的代码,你可以比较底层变量地址:publicstaticboolFoo(refinta,refintb){unsafe{fixed(int*pa=&a,pb=&b){//returntrueiffaand