在std :: to_string替换函数

时间:2016-09-15 04:35:52

标签: c++ c++11 tostring stringstream

由于std :: to_string对我不起作用,而且由于我目前正处于一个非常困难的环境中(我正在使用Linux终端模拟器在Android上工作),我决定离开它打破并使用用户自定义的函数替换它(我在网上找到它。)

这是我正在使用的确切代码:

#include <sstream>

namespace patch {
    template <typename T>
    std::string to_string(const T &n);
        std::stringstream stm;
        stm << n;
        return stm.str();
    }
}

我正在使用这些标签进行编译:

g++ -std=c++11 -g -Wall -Wextra -pedantic

我收到了这些错误:

unknown type name 'stm'; did you mean 'tm'?
                stm << n;
                ^~~

(然后在tm

中的include/time.h声明
expected unqualified-id
                return stm.str();
                ^

然后还有一个“无关闭括号”错误,最后一个括号关闭命名空间括号。

据我了解,它不会将行stm << n;识别为operator <<对象上使用的方法std::stringstream,而是出于某种原因而将其视为某些变量声明。

为什么我得到这些错误?有办法解决它们吗?如果没有,我可以用什么来代替这个解决方案?

1 个答案:

答案 0 :(得分:0)

看起来你有一个分号,左大括号应该是打开函数范围