error C2275 将此类型用作表达式非法

http://blog.csdn.net/lqk1985/article/details/7389159

C2275: “size_t”: 将此类型用作表达式非法,同时还导致一堆变量未定义的bug。

将LuaXml从lua5.1移植到5.2的时候,使用VS2010编译LuaXml_lib.dll的时候碰到了这个错误,然而使用GCC能编译成功。

群上一人遇到问题:在正确的程序中增加KdPrint()调用以输出调试信息,如下:

//////////////////////////////////////////////////////////
KdPrint(("xxxxxxxDriverEntryxxxxxxx"));

UNICODE_STRING  uszTest;
NTSTATUS        ntStatus;
//////////////////////////////////////////////////////////

但是增加这个函数调用后,程序就编译出错:error C2275: ‘UNICODE_STRING‘ : illegal use of this type as an expression

百度了一下把问题解决了:

将C代码在VC++中编译,经常会出现error C2275错误,结果是变量的定义位置不对,应该在函数块的最前面。这是一个编程习惯的问题。

在移植c++代码到c的时候,经常会出现一个奇怪的错误:“error C2275: “xxxxx”: 将此类型用作表达式非法”

这个错误是由于c的编译器要求将变量的申明放在一个函数块的头部,而c++没有这样的要求造成的。

解决的办法就是把变量的声明全部放在变量的生存块的开始。

时间: 2024-07-30 20:19:37

error C2275 将此类型用作表达式非法的相关文章

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

在移植c++代码到c的时候,经常会出现一个奇怪的错误,error C2275: “XXX”: 将此类型用作表达式非法 表达式非法,这个错误是由于c的编译器要求将变量的申明放在一个函数块的头部,而c++没有这样的要求造成的. 解决的办法就是把变量的申明全部放在变量的生存块的开始. 初学C语言,这是我写的一个程序: #include <stdio.h> #include <string.h> int main(void) { char fname[20],lname[20]; int

编译错误 error C2451: “std::_Unforced”类型的条件表达式是非法的

part 1 编译器 vs2015 VC++. 完整的错误信息粘贴如下: d:\program files (x86)\microsoft visual studio 14.0\vc\include\algorithm(43): error C2451: “std::_Unforced”类型的条件表达式是非法的 完整代码: struct Bigger { bool operator() (vector<string>::size_type lhs, vector<string>::

MVC 无法将带 [] 的索引应用于“System.Dynamic.DynamicObject”类型的表达式

无法将带 [] 的索引应用于“System.Dynamic.DynamicObject”类型的表达式 说明: 执行当前 Web 请求期间,出现未经处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: 无法将带 [] 的索引应用于“System.Dynamic.DynamicObject”类型的表达式 解决方法: ViewBag["xxx&q

TypeError: Error #1034: 强制转换类型失败:无法将 &quot;0.49&quot; 转换为 mx.graphics.IFill。

1.错误描述 TypeError: Error #1034: 强制转换类型失败:无法将 "0.49" 转换为 mx.graphics.IFill. at mx.charts.series::LineSeries/updateDisplayList()[E:\dev\4.0.0\frameworks\projects\datavisualization\src\mx\charts\series\LineSeries.as:1091] at mx.core::UIComponent/val

TypeError: Error #1034: 强制转换类型失败:无法将 &quot;&quot; 转换为 Array。

1.错误描述 TypeError: Error #1034: 强制转换类型失败:无法将 "" 转换为 Array. at mx.charts.series::LineSeries/updateFilter()[E:\dev\4.0.0\frameworks\projects\datavisualization\src\mx\charts\series\LineSeries.as:1225] at mx.charts.chartClasses::Series/validateTransf

TypeError: Error #1034: 强制转换类型失败:无法将 flash.events::[email&#160;protected] 转换为 mx.events.ItemClickEvent。

1.错误描述 TypeError: Error #1034: 强制转换类型失败:无法将 flash.events::[email protected] 转换为 mx.events.ItemClickEvent. 2.错误原因 /** * 查询按钮点击函数 */ protected function search_clickHandler(event:MouseEvent):void { search.addEventListener(MouseEvent.CLICK,radiogroup_ite

未经处理的异常在 System.Data.dll 中发生。其他信息:在应使用条件的上下文(在 &#39;***&#39; 附近)中指定了非布尔类型的表达式。

机房收费系统中,有些人在联合查询这个模块用的是存储过程,我先尝试着在数据库中建立了一个视图,然后在UI层做个判断并生成查询条件strCondition. 在机房收费系统的"联合查询"模块中出现的问题:"System.Data.SqlClient.SqlException"类型的未经处理的异常在 System.Data.dll 中发生.其他信息: 在应使用条件的上下文(在 '@strCondition' 附近)中指定了非布尔类型的表达式. 出错的DAL层代码为: Pu

未经处理的异常在 System.Data.dll 中发生。其它信息:在应使用条件的上下文(在 &amp;#39;***&amp;#39; 附近)中指定了非布尔类型的表达式。

机房收费系统中,有些人在联合查询这个模块用的是存储过程,我先尝试着在数据库中建立了一个视图,然后在UI层做个推断并生成查询条件strCondition. 在机房收费系统的"联合查询"模块中出现的问题:"System.Data.SqlClient.SqlException"类型的未经处理的异常在 System.Data.dll 中发生.其它信息: 在应使用条件的上下文(在 '@strCondition' 附近)中指定了非布尔类型的表达式. 出错的DAL层代码为: Pu

TypeError: Error #1034: 强制转换类型失败:无法将 &amp;quot;&amp;quot; 转换为 Array。

1.错误描写叙述 TypeError: Error #1034: 强制转换类型失败:无法将 "" 转换为 Array. at mx.charts.series::LineSeries/updateFilter()[E:\dev\4.0.0\frameworks\projects\datavisualization\src\mx\charts\series\LineSeries.as:1225] at mx.charts.chartClasses::Series/validateTran