“引发了异常:读取访问权限冲突”,如上图所示,遇到这种错误可以通过调试中内存窗口,检查内存情况。
错误原因可能为:
一、 调用函数时,所传递的参数有误,传递错误参数,或者参数类型不对(更有可能忽略);
需要注意传入的参数是变量'type a',还是指针'type* a',亦或'type** a',其中,'type a'是指type类型的变量a,'type* a'是指type类型的指针a,'type** a'是指type类型的指针的指针。
*是解引用,即获得某一地址变量中的内容;
&为取地址,即获得某一变量的地址;
下面是正确调用的例子:
// 假设 funtion 是一个函数
int* function(unsigned char* a, double b)
{
int c;
//函数功能;
return c;
}
// 在调用函数时,需要注意参数类型
// 1. 若 a 和 b 的类型定义如下,则调用函数的正确方法为:
// 类型
unsigned char* a;
double b;
// 调用
int* d = function(a, b);
// 2. 若 a 和 b 的类型定义如下,则调用函数的正确方法为:
// 类型
unsigned char a;
double b;
// 调用
int* d = function(&a, b);
// 3. 若 a 和 b 的类型定义如下,则调用函数的正确方法为:
// 类型
unsigned char a;
double* b;
// 调用
int* d = function(&a, *b);
二、 该函数未添加到头文件(.h文件)中,或者头文件添加错误;
版权归原作者 上海等我 所有, 如有侵权,请联系我们删除。