首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >vscode C/C++扩展:在执行时出错: sizeof(int)

vscode C/C++扩展:在执行时出错: sizeof(int)
EN

Stack Overflow用户
提问于 2022-04-02 11:32:04
回答 1查看 170关注 0票数 -3

我使用VSCODE作为代码编辑器,使用Microsoft的C/C++扩展作为代码编辑器,以便拥有比我的游戏引擎提供的代码编辑器更现代的代码编辑器(2000年代初的代码编辑器)。所以我只是使用vscode来编程,而不是用它编译我的代码。

问题是,扩展将正确的语句标记为不正确的语句:在我的例子中,对于简单的语句,我得到了错误的提示: sizeof(int) Intellisense说:“表达式期望C/C++ (29)”。

你们谁知道是怎么回事?

提前谢谢。

我已经尝试过将Intellisense模式从msvc-x64 (旧式)更改为其他模式,但问题仍然存在。

EN

回答 1

Stack Overflow用户

发布于 2022-04-10 05:28:32

sizeof如果是一个内置关键字,它永远不应该被重新定义为一个宏.宏被扩展为一个函数(我相信_sizeof是一个函数)。宏扩展看起来如下所示:

代码语言:javascript
复制
(int)_sizeof(int);

您所得到的错误来自于通过的参数。宏在函数调用(_sizeof(int))中传递一个裸数据类型,而实际上函数调用中的函数参数必须始终是表达式。这就是为什么您得到了错误“预期的一个表达式”。

一个解决方案可以是放置一些类似于以下代码(在代码的开头):

代码语言:javascript
复制
#ifdef sizeof
#undef sizeof
#endif

如果你有什么问题请告诉我。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71717163

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档