C++ std::to_字符串替换函数中无法识别std::stringstream对象

C++ std::to_字符串替换函数中无法识别std::stringstream对象,c++,c++11,tostring,stringstream,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:

由于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();
    }
}
我得到了这些错误:

unknown type name 'stm'; did you mean 'tm'?
                stm << n;
                ^~~
最后一个大括号出现了一个无关的右大括号错误,它关闭了名称空间大括号


据我所知,它无法识别stm这一行,看起来您有一个分号,其中左大括号应该用来打开函数范围

您包括了吗?您还缺少函数的左大括号,后面不应该有分号。不知何故,我怀疑std::to_字符串开头有什么问题。@Retired Ninja ouch。我将名称空间从声明复制并粘贴到定义中,我想我忘了更改它。无论如何,是的,包括在内,没有,std::to_字符串在任何地方都找不到。在这里工作:因为你没有发布完整的代码,没有语法错误,所以很难知道还有什么可能是错误的。@Retired Ninja是的,在我修复了你在第一条评论中所说的内容后,它工作了。我对比芬有反应。
unknown type name 'stm'; did you mean 'tm'?
                stm << n;
                ^~~
expected unqualified-id
                return stm.str();
                ^