我正在写一个函数,它有一个字符串的二维数组作为输入参数。我初始化字符串,将它传递给函数,但是当我试图打印数组时什么都没有发生。它说数组的长度是0.我所有的函数都存储在一个头文件中。这里是我的代码:多维字符串C++
#include<iostream>
#include<string>
#include<iomanip>
using namespace std;
int c,i,j,fx,fy;
int color,fields,rows,anim,speed;
string opt[5][50];
string popt[5][50]={
{"caption","asdf","safd","asf"},
{"caption1","dsafa","asdf","asdf"},
{"caption2","asdf","asdf","asdfas"},
{"caption3","sadfa","asdfs","fasdfa"}};
void ini(int focus_text_color, int n_fields,int n_rows, string options[][50], bool animation=false, int animation_speed=10)
{
color=focus_text_color;
fields=n_fields;
for(i=1;i<fields+1;i++)
{
for(j=1;j<rows+1;j++)
{
opt[i][j]=options[i][j];
}
}
}
int drawh()
{
system("cls");
for(i=0;i<fields;i++)
{
for(j=0;j<rows;j++)
{
cout<<opt[i][j]<<setw(opt[i+1][j].length()+5);
}
}
return 0;
}
void main()
{
ini(LIGHTRED,4,4,popt);
drawh();
}
注:这是代码,所以我没有测试过,和我的英语不好对不起的一部分:d
从@奥利的评论
你为什么要这么做'的(i = 1; i
2011-05-23 07:37:43
-1:你有没有尝试在调试器中逐句通过你的代码?或者添加'printf' /'cout'跟踪语句来查找变量的值,或者循环遍历多少次? – 2011-05-23 07:39:21
为什么你的初始化器不匹配你的数组的维度? – 2011-05-23 07:39:29