#程式碼:string str(double dX, double dY)// 將向量座標轉為字串,格式為「(x=, y=)」
{ return "(x=" + dX + ", y=" + dY + ")"; }
錯誤訊息:表達式必須包含整數或未區分範圍的枚舉類型
常見的兩種方案。
std::string v1(double dX, double dY) { std::ostringstream stream; stream << "(x=" << dX << ", y=" << dY << ")"; return stream.str(); } std::string v2(double dX, double dY) { char buff[1024]; sprintf(buff, "(x=%f, y=%f)", dX, dY); return buff; }
v2可能會溢出。
c++11 提供std::to_string 用於字串轉換
或如樓上所言
std::string v1(double dX, double dY) { std::ostringstream stream; stream << "(x=" << dX << ", y=" << dY << ")"; return stream.str(); }
依照樓主的程序還是to_string轉換效率高一些。
建議回傳 const string
常見的兩種方案。
v2可能會溢出。
include
c++11 提供std::to_string 用於字串轉換
或如樓上所言
依照樓主的程序還是to_string轉換效率高一些。
建議回傳 const string