0


Visual Studio 平台 C语言 :“引发了异常:读取访问权限冲突”

“引发了异常:读取访问权限冲突”,如上图所示,遇到这种错误可以通过调试中内存窗口,检查内存情况。
错误原因可能为:

一、 调用函数时,所传递的参数有误,传递错误参数,或者参数类型不对(更有可能忽略);

需要注意传入的参数是变量'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文件)中,或者头文件添加错误


本文转载自: https://blog.csdn.net/m0_61882573/article/details/140069137
版权归原作者 上海等我 所有, 如有侵权,请联系我们删除。

“Visual Studio 平台 C语言 :“引发了异常:读取访问权限冲突””的评论:

还没有评论