我遇到了一個例子,我正在從我的C++ All-In-One For Dummies中編譯,第二版。它應該做的是顯示包含CR(somenumbers)NQ的10行代碼;但是每次運行我都會得到10個變量地址。我試圖在網絡上搜索這個問題,但它非常特別。我正在運行Linux openSUSE 12.1並使用Code :: Blocks(GCC)。我開始認爲附帶的append函數可能存在一個庫問題。無論是我還是我完全是盲目的,而且它非常明顯。C++ For Dummies練習6-14附加問題
#include <iostream>
#include <sstream>
#include <cstdlib>
using namespace std;
string *getSecertCode()
{
string *code = new string;
code->append("CR");
int randomNumber = rand();
ostringstream converter;
converter << randomNumber;
code->append(converter.str());
code->append("NQ");
return code;
}
int main()
{
string *newcode;
int index;
for (index =0; index < 10; index++)
{
newcode = getSecertCode();
cout << newcode << endl;
}
return 0;
}
除非這是一個例如在目的展示壞C++,考慮[不同的教科書(http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list) – Cubbi
這不幸是一個不好的教科書的例子。它也不包括使用rand()的。儘管如此,本書的其餘部分仍然比較引人注目。但謝謝你的建議。 –