所以我想修改Class'通过将函数(split)返回值(类型为(vector strin?,string))放置到reunat_(vector)和palankuva_(string)这些是类'变量。我如何以及在何处定义变量" tallennettava"这样我就可以分配值函数" split()"首先返回" tallennettava"变量并从那里将值复制到Class'变量reunat_和palankuva_。下面的代码可以解释变量" tallennettava"空变量reunat和kuva以及我尝试分配" split()"函数返回值,它不能完成,因为" tallennettava"变量已经满#34;从空变量reunat和kuva。抱歉非英语变量名称。 :(
void Pala::tallenna_pala(string komento)
{
vector<string> reunat;
string kuva;
string palantiedot;
char erotinmerkki;
erotinmerkki = (':');
reunat_.clear();
palankuva_.clear();
if ( komento.length()> 23)
{
if ( patki_komento(komento, palantiedot)==true )
{
Pala tallennettava {reunat, kuva};
tallennettava = split(palantiedot,erotinmerkki);
reunat_ = reunat;
palankuva_ = kuva;
cout << reunat.at(1)<<endl;
}
else
{
cout << "Virheellinen syote" << endl;
}
}
}
答案 0 :(得分:0)
你可能想要这样的东西:
*this = split(palantiedot, erotinmerkki);
我这样说是因为split
似乎返回了可以构建Pala
的内容,因此将其分配给*this
比捕获结果更容易然后逐个复制字段。
答案 1 :(得分:0)
当你在Pala类中时,你可以访问任何Pala对象的私有成员,所以只需这样做:
Pala tallennettava = split(palantiedot,erotinmerkki);
reunat_ = tallennettava.reunat_;
palankuva_ = tallennettava.palankuva_;
另外,永远不要if ( cond == true )
,更喜欢更if ( cond )
更安全,因为true
(false
0
的价值没有标准定义},true
是其他任何内容,因此当( 3 == true )
评估为false
时,( 3 )
可以评估为true
。