small做关键字怎么不告诉我(转)

在windows下使用lapack遇到了个问题,编译报这样的错:

……/clapack.h(3592) : error C2144: syntax error : ‘char ‘ should be preceded by ‘) ‘
……/clapack.h(3592) : error C2144: syntax error : ‘char ‘ should be preceded by ‘; ‘
……/clapack.h(3592) : error C2143: syntax error : missing ‘; ‘ before ‘, ‘
……/clapack.h(3592) : error C2059: syntax error : ‘, ‘
……/clapack.h(3592) : error C2059: syntax error : ‘) ‘

错误内容指向这两行:

/* Subroutine */ int dlabad_(doublereal *small, doublereal *large);
/* Subroutine */ int slabad_(real *small, real *large);

这是怎么回事,lapack的头文件有问题?不会是我无意中按到键盘了吧。仔细检查一遍,没有这些问题啊,怎么会出现这种编译错误。无奈求助google大神,发现了问题的症结:

Microsoft SDK中有个头文件叫做 RpcNdr.h,其中有一句 #define small char

知道问题原因就好办了,直接把上述声明中small改掉即可。

我的疑问就是怎么能用small这么常用的一个短语作为关键字而不告诉我呢?或者我太土不知道?

(摘自:http://www.lixiaoyong.net/blog/?p=226)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值