Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 字符是否是VS中现有的全局类型定义?_C++_Visual Studio 2010 - Fatal编程技术网

C++ 字符是否是VS中现有的全局类型定义?

C++ 字符是否是VS中现有的全局类型定义?,c++,visual-studio-2010,C++,Visual Studio 2010,我有以下几点 namespace settings{ #if defined(WIN32) && !defined(UNIX) typedef wchar_t char_t; #elif defined(UNIX) && !defined(WIN32) typedef char char_t; #else typedef char char_t; #endif typedef std::basic_string<char_t&

我有以下几点

namespace settings{
  #if defined(WIN32) && !defined(UNIX)
  typedef wchar_t char_t;
  #elif defined(UNIX) && !defined(WIN32)
  typedef char char_t;
  #else
  typedef char char_t;
  #endif
  typedef std::basic_string<char_t> string_t;
  typedef std::basic_ostream<char_t> stream_t;
}
我保存了它,这样我就可以将整个应用程序更改为wchar。它在Linux中工作,但当我试图在VS2010中编译它时,它给了我

错误C2371:“设置::字符”:重新定义;不同的基本类型 请参阅“设置::字符”的声明


我的所有代码都使用settings::char\u t和settings::string\u t等。。现在我需要更改所有代码吗?或者有更简单的解决方法?

即使它是全局的,您的typedef也包含在名称空间设置中,您将获得有关这方面的更多信息。您确定该文件在项目中没有两次被指定为目标吗?

即使它是全局文件,您的typedef也包含在名称空间设置中,您将获得有关这方面的更多信息。您确定该文件在项目中没有被两次定位吗?

被两次定位是什么意思?由于标头具有ifndef/def定义,因此不可能双重包含!对我太确定了。IDE没有创建用于保护双重包含的定义。谢谢你说两次被瞄准是什么意思?由于标头具有ifndef/def定义,因此不可能双重包含!对我太确定了。IDE没有创建用于保护双重包含的定义。谢谢