我在 C++ 中有以下函数:
std::wstring decToDeg(double input)
{
int deg, min;
double sec, sec_all, min_all;
std::wstring output;
sec_all = input * 3600;
sec = Math::Round(static_cast<int>(sec_all) % 60, 3); //code from @spin_eight answer
min_all = (sec_all - sec) / 60;
min = static_cast<int>(min_all) % 60;
deg = static_cast<int>(min_all - min) / 60;
output = deg + L"º " + min + L"' " + sec + L"\"";
return output;
}
当我尝试编译时,出现此错误:
error C2679: binary '=' : no operator found which takes a right-hand operand of type 'System::String ^' (or there is no acceptable conversion)
我可以做些什么来纠正我的函数中的这两个错误?
编辑:解决了
std::wstring decToDeg(double input)
{
int deg, min;
double sec, sec_all, min_all;
sec_all = input * 3600;
sec = Math::Round(static_cast<int>(sec_all) % 60, 3);
min_all = (sec_all - sec) / 60;
min = static_cast<int>(min_all) % 60;
deg = static_cast<int>(min_all - min) / 60;
std::wostringstream output;
output << deg << L"º " << min << L"' " << sec << L"\"";
return output.str();
}