Visual c++ 如何将整数文本指定为单词?

Visual c++ 如何将整数文本指定为单词?,visual-c++,integer,code-analysis,word,Visual C++,Integer,Code Analysis,Word,我有以下代码: bool bIsSampleConversationVideo = m_aryWStudentAssignTypeIndex[wItem - 1] == CChristianLifeMinistryDefines::kSampleConversationVideo; 当我使用64位代码分析进行编译时,我得到以下关于[wItem-]的警告: LNT1000子表达式在分配给更广泛的类型之前可能会溢出 将鼠标悬停在我看到的两个项目上时: wIte

我有以下代码:

bool bIsSampleConversationVideo = 
        m_aryWStudentAssignTypeIndex[wItem - 1] == 
        CChristianLifeMinistryDefines::kSampleConversationVideo;
当我使用64位代码分析进行编译时,我得到以下关于
[wItem-]
的警告:

LNT1000子表达式在分配给更广泛的类型之前可能会溢出

将鼠标悬停在我看到的两个项目上时:

  • wItem
    类型为
    WORD
  • 1
    的类型为
    int
我知道您可以添加到文字数字,如
L
等,但不知道如何将整数文字指定为
WORD



我可能没有解释这个警告。无论哪种方式,是否有一个简单的解决方案来防止代码分析警告?

WORD(1)
。也就是说,我必须承认我不明白这个警告想要说什么
wItem
将在减法之前提升为
int
;此表达式没有溢出
无符号short
aka
WORD
的风险。也许它认为wItem可以是零,因此wItem-1可以是负的,而溢出的大小(数组索引的类型)?@IgorTandetnik很好。但是这个代码所在的
for
循环从
1
开始:
for(单词wItem=1;wItem好吧,linter可能不够聪明,无法意识到这一点。