0


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

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

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

需要注意传入的参数是变量'type a',还是指针'type* a',亦或'type** a',其中,'type a'是指type类型的变量a,'type* a'是指type类型的指针a,'type** a'是指type类型的指针的指针。

*是解引用,即获得某一地址变量中的内容;

&为取地址,即获得某一变量的地址;

下面是正确调用的例子:

  1. // 假设 funtion 是一个函数
  2. int* function(unsigned char* a, double b)
  3. {
  4. int c;
  5. //函数功能;
  6. return c;
  7. }
  8. // 在调用函数时,需要注意参数类型
  9. // 1. 若 a 和 b 的类型定义如下,则调用函数的正确方法为:
  10. // 类型
  11. unsigned char* a;
  12. double b;
  13. // 调用
  14. int* d = function(a, b);
  15. // 2. 若 a 和 b 的类型定义如下,则调用函数的正确方法为:
  16. // 类型
  17. unsigned char a;
  18. double b;
  19. // 调用
  20. int* d = function(&a, b);
  21. // 3. 若 a 和 b 的类型定义如下,则调用函数的正确方法为:
  22. // 类型
  23. unsigned char a;
  24. double* b;
  25. // 调用
  26. int* d = function(&a, *b);

二、 该函数未添加到头文件(.h文件)中,或者头文件添加错误


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

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

还没有评论