已经是指针了却还用取地址

Posted NightPoetry

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了已经是指针了却还用取地址相关的知识,希望对你有一定的参考价值。

            const char* clipName = ms.clips[i].clipName.c_str();
            file.write((char*)clipName, cliph.clipNameNum);
            const char* clipName = ms.clips[i].clipName.c_str();
            file.write((char*)&clipName, cliph.clipNameNum);

第一段是正确的,第二段是错误的。

因为之前都是用结构体申请的局部变量读取文件,所以在变量上面需要用取地址符。但是这次我直接申请的就是指针。我还加了取地址符,所以经常段错误,而且偶尔还不错误,就很迷。最后直到我发现我其实传了个指针。

错误难度:1

愚蠢程度:5

调试时间:1h

以上是关于已经是指针了却还用取地址的主要内容,如果未能解决你的问题,请参考以下文章

已经是指针了却还用取地址

C++中如何区分引用和取地址符号&?

c语言中取地址符和*有啥区别?

Objective-C Block与函数指针比较

递归的应用

地址的奇怪错误