public char[] Cache_1(int word_address,int cache_set,int ls,char[] s1)
{
char cache_1[][] = new char[32][4];
char s0[] = new char[32];
InterConnectionNetwork ic = new InterConnectionNetwork();
if(ls == '0') {
if((cache_1[cache_set][0]) == '1') { // Check Valid Bit and transfer content
// if valid bit is high
for(int i=0;i<32;i++) { // Load
s0[i] = cache_1[cache_set][i];
}
} else { // Valid bit low
s0 = ic.determinenode(word_address);
}
return s0;
} else {
if((cache_1[cache_set][0]) == '1') {
for(int i=0;i<32;i++) {
cache_1[cache_set][i] = s0[i];
}
} else
cache_1[cache_set][] = ic.determinenode(word_address); //returns char[]
return (cache_1[cache_set][]); //Problem here
}
}
这是我写的代码中的一大块。这里的问题是使用的返回类型是char[]
而cache_1[cache_set][]
实际上等同于单个字符数组,但它显示错误。请帮我解决。
答案 0 :(得分:3)
您应该返回cache_1[cache_set]
,而不是cache_1[cache_set][]
。
答案 1 :(得分:0)
您将返回类型定义为
char[]
表示char数组(线性)
你要回来了
cache_1[cache_set][] //should give multiple error and one for not giving index inside the second [?]
如果你写得正确,那么你将返回char
而不是char[]
你必须改变任何一个。