草庐IT

androidx冲突

全部标签

c++ - operator bool() 转换为 std::string 并与 operator std::string() 冲突

在类中声明operatorstd::string时,operatorbool()怎么会导致错误,而且它本身还充当到string的隐式转换?#include#includeusingnamespacestd;classTest{public:operatorstd::string(){cout 最佳答案 您面临的问题(除了operatorstd::string()返回bool之外)是隐式转换在您需要和不需要时触发。当编译器看到s=t时,它会识别以下潜在的std::operator=匹配项://usingstd::stringforco

c++ - 如何正确使用命名空间避免名称冲突?

我对C++命名空间的正确使用有点困惑。我很清楚它们如何帮助避免冲突(名称冲突),但是当涉及到using关键字时,我就不清楚了。我的意思是,假设我有一部分代码放入命名空间,并创建一个类,比如说namespacemy{classvector{...};}当然,当我使用它时,我不想一直输入my::vector,所以我希望usingnamespacemy。但是,我最终可能需要std命名空间中的一些东西,然后我希望同时使用usingnamespacestd,但这会让我回到最初的名称冲突问题.我知道可以只“导入”我需要的功能,比如usingstd::set,但在这种情况下,导入标准命名空间似乎很自

C++ 访问冲突写入位置 0x0...设置 int *

我已经查看了这里和其他地方的各种问题,但我仍然无法解释我遇到的访问冲突错误。“访问冲突写入位置0x00000000”对应于NULL指针,对吗?我已经声明了一个int指针,稍后我尝试在该位置设置一个值。我声明指针的时候不应该分配内存空间吗?如果这有点笨拙,请原谅我,但我更像是一个Java/AS3的人。这是我的部分代码...int*input;char*userInput[1];int*output;int_tmain(intargc,_TCHAR*argv[]){while(1){srand(time(0));*input=(int)(rand()%10);它在最后一行中断。

c++ - 为什么 cout 的访问冲突和 printf 的堆栈溢出

我想知道为什么在下面的两个代码片段中,cout和printf会发生访问冲突和堆栈溢出。我想知道为什么第一个代码的访问冲突而不是堆栈溢出。我得到访问冲突的第一个代码:voidTest();voidTest(){staticinti=0;cout我得到StackOverflow的第二个代码:voidTest();voidTest(){staticinti=0;printf("%d\n",i++);Test();}intmain(){Test();return0;} 最佳答案 我假设您了解这两个函数在尝试无限递归后由于堆栈耗尽而崩溃。我认

python - WindowsError 异常访问冲突 - 在简单的 python c++ ctypes 接口(interface)中

我有一个非常简单的测试用例,我无法开始工作,我正在尝试使用ctypes将c++与python连接起来。我在使用double时遇到错误,在这种情况下尝试在C++中使用“cout”。错误是:WindowsError:exception:accessviolationwriting0x.....问题出在以下c++代码的cout行:#include"testgeo.h"#includeTestGeo::TestGeo():td_(0),ti_(0){std::cout它具有以下header(testgeo.h),包括一个外部C部分:classTestGeo{public:TestGeo();~

c++ - 访问冲突读取位置-未终止的字符串(不可读的内存)

我正在使用log4cplus库,但无法使日志记录正常工作。我使用这段代码:PropertyConfigurator::doConfigure(LOG4CPLUS_TEXT("log.properties"));Loggerg_logger=Logger::getInstance(LOG4CPLUS_TEXT("mylogger"));LOG4CPLUS_WARN(g_logger,LOG4CPLUS_TEXT("testtesttest"));它在LOG4CPLUS_WARN处中断并出现错误:访问违规读取位置这是我的调用栈:msvcp110d.dll!std::basic_stream

c++ - 模板运算符重载中的类型冲突

很抱歉,这听起来像是一个常见问题,据我所知,我找不到问题的答案。最近的帖子是这个:TemplateSpecializationforbasicPODonly假设我有一个类templateclassA{...};,并且我想将operator+重载为内部二元运算符(两个A类型的对象),以及作为混合二元运算符(A类型的对象和数字POD类型的对象)。理想情况下,我想写的是:#includeusingnamespacestd;//Declare/finetemplatetemplateclassA{...};//InternalbinaryoperatortemplateA::type>oper

c++ - boost::make_shared 导致访问冲突

我有一个用于ARMV4IWindowsMobile6的VisualStudio2008C++应用程序,我正在使用boost::shared_ptr管理一个相当大的对象(4KB)。不幸的是,boost::make_shared导致访问冲突异常。我的代码:structFoo{chara[4*1024-1];};int_tmain(intargc,_TCHAR*argv[]){boost::shared_ptrf=boost::make_shared();//AccessViolationreturn0;}异常调用栈:test.exe!boost::detail::sp_ms_deleter

c++ - 为什么全局 merge() 函数与 std::merge() 冲突?

考虑以下代码:#include#includetemplatevoidmerge(Input1begin1,Input1end1,Input2begin2,Input2end2,Outputout){}intmain(){std::vectora={1,2};intb[]={3,4};intc[4];merge(a.begin(),a.end(),b,b+2,c);}编译yield:$clang++-std=c++11-stdlib=libc++merge.cppmerge.cpp:15:5:error:callto'merge'isambiguousmerge(a.begin(),a

adb和scrcpy命令冲突解决办法

在使用了scrcpy投屏后,如果再在其他cmd窗口执行adb命令时,会直接切断scrcpy的投屏,非常的麻烦。如上图,只要把原来的adb.exe改名成adb1.exe(名字随便)即可。之后就能正常的两者共存了,目前来看,测试可用。