首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

vs2010 提示数组名不明确?该如何解决

2013-08-04 
vs2010 提示数组名不明确????本帖最后由 guodongxiaren 于 2013-07-31 10:21:18 编辑#include iostream#

vs2010 提示数组名不明确????
本帖最后由 guodongxiaren 于 2013-07-31 10:21:18 编辑

#include <iostream>
#include <string>
using namespace std;
const int MAX=1000005;
int next[MAX];
void GetNext(string t)
{
int i=0;
int j=-1;
while(i<t.length())
if(j==-1||t[i]==t[j])
{
++i;
++j;
next[i]=j;
}
else
j=next[j];
}

用vs2010写个kmp的算法。next数组我声明的的全局,为什么在函数中提示那两个next数组不明确??? Visual?Studio?2010
[解决办法]
改为 #define MAX 1000005也是不行的,
变量名规则你没弄清楚,
你若是定义next1[MAX]就没有问题。
next 不能作为变量名。
[解决办法]
引用:
Quote: 引用:

改为 #define MAX 1000005也是不行的,
变量名规则你没弄清楚,
你若是定义next1[MAX]就没有问题。
next 不能作为变量名。
试了下,确实可以啊。请问这是怎么回事啊


C++中变量名规则 需要再研究下的,像next之类的,C++本身有这样的操作,当然不能用于定义变量名。 你若定义了,它就不知是那个了。因此我们若是要定义类似的往往要改变其大小写,或者加前后缀。
[解决办法]
引用:
Quote: 引用:

Quote: 引用:

改为 #define MAX 1000005也是不行的,
变量名规则你没弄清楚,
你若是定义next1[MAX]就没有问题。
next 不能作为变量名。
试了下,确实可以啊。请问这是怎么回事啊
弱弱的问句,这个next是c++在什么地方定义的?

next[i],转定义看看,应该会有。

热点排行