关于VECTOR使用方面出现的问题
我定义了这样几个全局变量:
struct Gene
{
char *name;
double value;
};
vector<Gene> genes;
vector<double> lbound;
vector<double> ubound;
有一函数
nn
{
int lchrom=2;
genes.resize(lchrom);
lbound.resize(lchrom);
ubound.resize(lchrom);
char s[100];
double l1[]={1,2};
double l2[]={2,3};
for(int i=0;i<2;i++)
{
sprintf(s,“s%”,****)//***为一从文件中读数的语句;
genes[i].name=s;
lbound[i]=l[i];
ubound[i]=u[i];
}
}
先现调用这个函数后,在另外一个函数中genes[i].name中居然成了“烫烫.......”;但是lbound和
ubound中确是正常的,就是l[]和u[]中的数,请问这是为什么,怎么才能让genes[i].name中的字符串变成s付给它的呢?????