Vs2013 类派生+默认值+参数数组,默认值设置不当导致IDE奔溃或编译错误:-1073740791
来源:互联网 发布:c语言获取系统时间 编辑:程序博客网 时间:2024/05/16 14:34
VS2013开发时,如果遇到类似以下的代码,会导致IDE意外奔溃。
internal class Program{private static void Main(string[] args){}}internal abstract class baseClass{protected abstract int add(int a, int b = 0, params int[] additionParam);}partial class delivedClass : baseClass{protected override int add(int a, int b, params int[] additionParam){int s = a + b;foreach (var x in additionParam)s += x;return s;}int add2(int x){return this.add(a);}}
上述代码中,关键问题在于:
1.虚函数要求一个参数数组,并且参数数组前的参数仍有默认值。
2.派生此类,实现此虚函数时,函数的默认值遗漏。
3.如果没有其他函数调用次函数,则一切OK。
4.如果在代码中调用了此函数,会在调用语句输入时,IDE意外奔溃。
5.如果以外部编辑器编辑此代码来调用此函数,则在变异此代码时,发生““Csc.exe”已退出,代码为 -1073740791。”的错误。
解决方式:
此错误比较隐蔽,编译时也没有针对性报错,因此很难查出问题所在。实践上需要保证基类的虚函数与派生类的实现函数的参数表完全一致,包括默认值。
0 0
- Vs2013 类派生+默认值+参数数组,默认值设置不当导致IDE奔溃或编译错误:-1073740791
- 参数默认值的设置
- 函数参数默认值设置
- 重载-参数含有设置默认值
- TestComplete如何设置参数默认值
- 参数默认值
- 数组默认值
- shell读取参数,并设置默认值
- 【JavaScript】js中设置function参数默认值
- SQL SERVER存储过程,参数默认值设置
- SQL SERVER存储过程,参数默认值设置
- 设置PowerShell中的cmdlet参数默认值
- SQL 函数如何设置参数默认值
- javascript函数参数的默认值设置
- jquery通过参数给select设置默认值
- 设置菜单默认值设置
- 函数参数的默认值
- 函数参数默认值定义
- 学习2
- 柯文哲《生死的智慧》
- 求两个用链表表示的数字和
- poj3159 Candies
- 有关Android中的java.lang.ClassCastException错误
- Vs2013 类派生+默认值+参数数组,默认值设置不当导致IDE奔溃或编译错误:-1073740791
- linux top详解
- vpn
- windows下使用VS2010编译jpeglib(实际操作vs2008也可以)
- C#网络编程,多个客户端连接服务器端并发送消息
- 指针函数与函数指针的区别
- URAL 2013 Neither shaken nor stirred dfs 模拟
- Ubuntu + Nginx + php + swpan-fcgi 搭建php网络服务
- Python的网页爬虫&文本处理&科学计&机器学习&数据挖掘工具集