C28112
警告 C28112:通过 Interlocked 函数访问的变量必须始终通过 Interlocked 函数来访问
请查看 number 行: 使用任何其他方式访问可通过 Interlocked* 系列函数访问的变量并不总是安全的。
通过使用互锁的管理支持例程访问的变量,如 InterlockedCompareExchangeAcquire,将在以后使用不同方法进行访问。使用不同方法,虽然由使用 Interlocked* 例程使用的变量的一些一般的分配、访问以及比较可以使用的不同的方法安全的访问,但其风险足够大到要检查每个实例。
示例
下面的代码示例生成此警告:
inter_var --;
...
InterlockedIncrement(&inter_var);
下面的代码示例避免此警告:
InterlockedDecrement(&inter_var);
...
InterlockedIncrement(&inter_var);