草庐IT

expose_used

全部标签

c++ - 有什么方法可以通过 using 声明来提高可见度吗?

以下代码无法编译:classC{private:intm_x;protected:C(intt_x):m_x(t_x){}};classD:publicC{public:usingC::C;};intmain(intargc,char**argv){Do(0);}编译器反对C的构造函数被声明为protected,这意味着我无法从main访问它。换句话说,似乎using声明拖拽了标识符的原始可见性,尽管它存在于publicblock中。两个问题:为什么会这样?(无论是关于其运作方式的规则,还是制定这些规则的理由)。有什么方法可以解决这个问题而无需显式地为D编写构造函数?

c++ - 用什么代替 `qt5_use_modules` ?

Qt5CMakemanual说明qt5_use_modules宏已弃用:Thismacroisobsolete.Usetarget_link_librarieswithIMPORTEDtargetsinstead....但是qt5_use_modules不仅仅指定链接库:它指定包含目录、必要的编译标志等(请参阅上面链接文档中的完整描述)。然后,假设变量QTMODULES包含一些应该用于项目的Qt模块列表,那么“推荐”的方法是什么来替换以下“已弃用”的CMake行?qt5_use_modules(${myProjectName}${QTMODULES})以下不起作用,主要是因为它没有添加

c++ - DirectX SDK 与 Windows SDK : which one to use?

我有一个(某种程度上)基于DirectX10的旧游戏引擎,我一直计划将其迁移到DX11。我还刚刚安装了Windows8和VS2013,在尝试运行这个旧项目时,我了解到DirectXSDKhasbeendeprecated现在被Windows8SDK取代。在这种情况下,我想知道更新到DX11是否有意义,还是我应该尝试让我的引擎使用新的Windows8SDK。在做出决定之前,我想知道几件事:1)Windows8SDK是现在要学习的东西还是DX11仍然相关?比如,如果你想学习C++,你应该学习C++11,那么如果你现在想学习Direct3D,你应该学习Windows8SDK?2)学习Dire

c++ - "error: cannot use type ' void' as a range"究竟是什么意思?

当我在clang3.2中编译它时for(autox:{1,1.2}){}我收到这样的错误:error:cannotusetype'void'asarange这是什么意思? 最佳答案 您在初始化列表中混合了您的类型。在这种情况下它可以很清楚,但不要忘记std::stringfoo;for(autox:{foo,"bar"}){}也是两种不同的类型。当然还有很多其他情况,您可能希望它起作用,但类型必须完全匹配。 关于c++-"error:cannotusetype'void'asarange

c++ - 警告 : pointer of type ‘void *’ used in arithmetic

我正在从内存映射中写入和读取寄存器,如下所示://READreturn*((volatileuint32_t*)(map+offset));//WRITE*((volatileuint32_t*)(map+offset))=value;但是编译器给我这样的警告:warning:pointeroftype‘void*’usedinarithmetic[-Wpointer-arith]如何更改我的代码以删除警告?我正在使用C++和Linux。 最佳答案 因为void*是一个指向未知类型的指针,所以你不能对它进行指针运算,因为编译器不知道

c++ - 是否有一个(Linux)g++相当于/fp :precise and/fp:fast flags used in Visual Studio?

背景:许多年前,我继承了一个代码库,该代码库使用VisualStudio(VC++)标志“/fp:fast”在特定的计算量大的库中生成更快的代码。不幸的是,'/fp:fast'产生的结果与不同编译器(BorlandC++)下的同一个库略有不同。因为我们需要产生完全相同的结果,所以我切换到“/fp:precise”,效果很好,从那以后一切都很顺利。但是,现在我在uBuntuLinux10.04上用g++编译同一个库,我看到了类似的行为,我想知道它是否有类似的根本原因。我的g++构建的数值结果与我的VC++构建的数值结果略有不同。这引出了我的问题:问题:g++是否具有与VC++中的“fp:

c++ - Windows 文件 : using both ReadFile and mapping

假设我在磁盘上有一个文件,然后使用CreateFile创建它的句柄,使用CreateFileMapping创建它的映射对象,使用MapViewOfFile创建它的映射View.虚拟内存中文件地址的开始保存在指针StartPtr中,该指针由MapViewOfFile函数返回。如果在调用CreateFileMapping函数之前,我使用ReadFile读取一些字节N,则MapViewOfFile返回的指针>指向(StartPtr+N)? 最佳答案 没有。MapViewOfFile()要求您告诉它View相对于文件开头的映射位置。在dwF

windows - native 退出,代码为 : -1073741510 (0xc000013a) while using prime checker function

我一直在尝试创建我自己的素数检查器函数,虽然奇怪的是当我调用isPrime(7)时它返回1,这很好,但是当我调用isPrime(9)时它给我以下错误:“Mathematics.exe”:已加载“C:\DocumentsandSettings\mbryant\MyDocuments\VisualStudio2010\Projects\Mathematics\Debug\Mathematics.exe”,已加载符号。“Mathematics.exe”:已加载“C:\WINDOWS\system32\ntdll.dll”,无法找到或打开PDB文件“Mathematics.exe”:已加载“C

Windows 工作流程 : Dev using visual express edition

是否可以使用VisualStudio速成版处理WindowsWorkflow项目?如果没有,有什么解决办法吗? 最佳答案 Google是您的friend。例如:WorkflowFoundationProjectUsingVisualStudio2008ExpressEdition虽然VisualExpress版本不直接支持WindowsWorkflow设计器,但WorkflowDesigner控件本身可以托管在VisualStudio之外。使用外部托管的WorkflowDesigner控件可为您提供与“完整”版本的VisualStu

c++ - Windows/C++ : how can I get a useful stack trace from a signal handler?

我有一个Windows/C++应用程序(使用JUCE),我想在应用程序崩溃时将堆栈跟踪转储到一个文件中。在我的初始化代码中,我有:signal(SIGABRT,abortHandler);signal(SIGSEGV,abortHandler);signal(SIGILL,abortHandler);signal(SIGFPE,abortHandler);然后我的处理程序看起来像:voidabortHandler(intsignum){juce::Filelog("stacktrace.txt");log.appendText(juce::SystemStats::getStackBa