【问题标题】:How to define "wstring"?如何定义“wstring”?
【发布时间】:2013-01-05 11:43:08
【问题描述】:

我在构建Ubuntu 时遇到错误。 错误如下:

ISO C++ forbids declaration of `wstring' with no type

为了解决这个问题,我必须自己定义wstring。 那么谁知道如何定义wstring

【问题讨论】:

  • 你应该#include<string>并使用std::wstring
  • 我添加了#include并使用了它的完全限定名std::wstring。所以,我必须定义wstring,因为我使用的gcc不支持它。所以,如何定义“wstring”?

标签: linux gcc ubuntu wstring


【解决方案1】:

要使用wstring,您必须添加#include<string>,并且最好使用其完全限定名称std::wstring

更新: 如果您的编译器由于某种原因不支持std::wstring,您可以尝试使用以下typedef(直接取自bits/string_fwd.h 并调整以添加缺少的std::)。

typedef std::basic_string<wchar_t> wstring;

请注意,这取决于 wchar_t 的定义,以及 this

在 C++ 中,wchar_t 是一种独特的基本类型(因此它没有在任何其他头文件中定义)。

如果您的编译器不支持wchar_t,据我所知,没有(简单的)方法可以定义它。

【讨论】:

  • 亲爱的 Alberto Miranda,我添加了#include 并使用它的完全限定名称 std::wstring。所以,我必须定义 wstring,因为我使用的 gcc 不支持它.那么,如何定义“wstring”?
  • 抱歉,我没有正确理解您的问题。如果您的编译器不支持它,您可以尝试以下操作:typedef std::basic_string&lt;wchar_t&gt; wstring; 虽然这取决于您的编译器是否支持wchar_t
猜你喜欢
  • 1970-01-01
  • 2020-10-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-13
  • 2014-11-01
  • 2010-09-11
  • 1970-01-01
相关资源
最近更新 更多