2014-02-26 74 views
0

我试图用空格填充2d字符数组以摆脱当您调用它时出现的垃圾。 每次我尝试编译这个,我得到: 错误C2440:'=':不能从'const char [2]'转换为'char'
在我的代码中没有任何一点(有意)使任何东西都成为常量。 有些人可以向我解释为什么这不起作用吗?如何填充2d字符数组? C++

void CreateArr(char arrv[5][5]) 
{ 

for(int i=0; i<5; i++)  
{ 
    for(int j=0; j<5; j++) 
    { 
     arrv[i][j] = " "; 
    } 

} 
} 


int main() 
{ 
char foo[5][5]; 
CreateArr(foo); 

return 0; 
} 

回答

4

使用单引号," "是一个字符串litteral,你想要的是这样写' '

+0

我觉得很愚蠢。谢谢。 – user3331346

+0

@ user3331346 Np,容易犯错误。 – Borgleader

1

一个char litteral也可以使用memset的。

memset(arrv, ' ', sizeof(char) * 5 * 5); 

它不会在具有不同类型成员的结构/类中工作。