在我的C++程序的同一行,我有这样的功能,C++,通过引用传递变量不被更新在其上调用函数
char MostFrequentCharacter(ifstream &ifs, int &numOccurances);
和在main(),是这样的代码,
ifstream in("file.htm");
int maxOccurances = 0;
cout <<"Most freq char is "<<MostFrequentCharacter(in, maxOccurances)<<" : "<<maxOccurances;
但是这不起作用,虽然我得到正确的字符,maxOccurance仍然为零。 但如果我更换主上面的代码本,
ifstream in("file.htm");
int maxOccurances = 0;
char maxFreq = MostFrequentCharacter(in, maxOccurances);
cout <<"Most freq char is "<<maxFreq<<" : "<<maxOccurances;
然后,工作正常。我的问题是为什么它不是在第一种情况下工作。
见http://stackoverflow.com/questions/949433/could-anyone-explain-these-undefined-behaviors-i-i-i-i-i-etc –