none
error C2275: “wchar_t”: 将此类型用作表达式非法 RRS feed

  • 问题

  • 在vs2013中编译一个c开发的代码,报错:

    error C2275: “wchar_t”: 将此类型用作表达式非法

    由于wchar_t出现在函数中间,把wchar_t的申明移到函数头,发现可以编译。考虑在vs编译中,将工程编译为c(/TC),但是仍然报这个错误。由于工程代码量较大,而且这种错误很多,有没有什么办法能够编译成功?谢谢。

    2015年4月23日 3:26

答案

  • 这个没有什么好的办法,c的编译器要求将变量的申明放在一个函数块的头部,而c++没有这样的要求造成的,除非您将文件的后缀名改成.cpp。

    Visual C++ enthusiast, like network programming and driver development. At present is being engaged in the WinCE/Windows Mobile platform embedded development.

    • 已标记为答案 Shu 2017 2015年5月11日 1:33
    2015年4月23日 15:14
    版主

全部回复

  • 这个没有什么好的办法,c的编译器要求将变量的申明放在一个函数块的头部,而c++没有这样的要求造成的,除非您将文件的后缀名改成.cpp。

    Visual C++ enthusiast, like network programming and driver development. At present is being engaged in the WinCE/Windows Mobile platform embedded development.

    • 已标记为答案 Shu 2017 2015年5月11日 1:33
    2015年4月23日 15:14
    版主
  • 但是我强制将他按c++编译为什么也不行啊?
    • 已编辑 阿D 2015年4月24日 3:56
    2015年4月24日 2:13
  • 你怎么让代码按C++编译的?把文件后缀改成cpp或改为 compile as -> /TP都没有用吗?

    有没有可能按照你的情况弄一个小sample让我们重现这个问题?这样才能更加理解你的问题。


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2015年4月24日 5:47
  • 都改 /TP可以用了,因为有其他依赖
    2015年4月27日 10:04