C++ 字符串前向声明不明确

标签 c++ string forward declare

我试图转发声明 std::string 但它似乎不起作用。

这是我的代码:

namespace std
{
    template<typename>
    class allocator;

    template<class _CharT>
    struct char_traits;

    template <typename _CharT, typename _Traits = char_traits<_CharT>, typename _Alloc = allocator<_CharT>>
    class basic_string;

    typedef basic_string<char> string;   
}

包含字符串会导致此错误:reference to ‘basic_string’ is ambiguous。有什么方法可以无错误地转发 decleare 字符串吗?

最佳答案

Is there any way forward declare std::string without errors?

没有。

关于C++ 字符串前向声明不明确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49581536/

相关文章:

c++ - 如何编写接受断言消息的自定义断言函数 : assert(false) << "assertion" << "failed";

c++ - 拆分 C++ 类声明

Python 将 r 放在 unicode 字符串变量之前

java - 字符串长度问题

在小部件顶部 flutter showDialog

JavaScript 前馈验证

适用于字节数组的 C++ 类(如字符上的字符串)

C++ 十进制数据类型

c# - 什么时候应该使用 String.Format 或 String.Concat 而不是串联运算符?

c++ - 前向迭代器 C++ : for_each behavior