1
我正在研究蛮力算法的某些实现,这看起来像是一个基本问题,但我无法使其工作。试图读取或写入受保护的内存。这通常表明其他内存已损坏
下面的代码中断程序的行:
found[next] = j;
阵列宣言:
int* found = new int[30];
j是计数器,用于循环增加英寸像找到的代码[0] = 0工作正常。如果我使用变量索引和值它崩溃。 Visual Studio 2012中的错误是“试图读取或写入受保护的内存,这通常表示其他内存已损坏”。
我使用int * becouse它在C++ dll中,我用c#应用程序。
'next'从哪里来?它大于'29'吗? – 2013-04-10 12:58:36
不要使用像“'30”这样的幻数。相反,使用值的逻辑依赖来表达容器,并抽象地引用这些值。那么这种愚蠢的错误就不太可能发生。 – 2013-04-10 13:01:08
不,它小于30.实际上,它是0. – 2013-04-10 13:02:57