C++:禁用隐式转换警告
C++: disable implicit conversion warnings
我使用的是 MSVC,但最好能为其他主要编译器提及正确的标志。我需要这些标志只是为了实验目的。这些是我所指的警告的一些示例:
warning C4244: '=': conversion from 'T' to 'int', possible loss of data
warning C4244: '=': conversion from 'double' to 'Uint8', possible loss of data
warning C4244: 'argument': conversion from 'U' to 'T', possible loss of data
warning C4267: 'return': conversion from 'size_t' to 'int', possible loss of data
warning C4244: 'argument': conversion from 'float' to 'T', possible loss of data
warning C4244: 'initializing': conversion from 'float' to 'T', possible loss of data
warning C4838: conversion from 'float' to 'T' requires a narrowing conversion
如果您想消除错误,您可以按照 the official documention 中所示进行操作。 MSVC 有警告级别,每个警告都分配给一个级别。因此,您要么更改应报告的级别,将特定警告分配给不同级别,要么使特定警告静音。
/wdnnnn
会消除错误 nnnn
是警告编号。
/wxnnnn
更改警告级别 x
是新级别,nnnn
警告编号。
或者您可以使用 #pragma
在文件基础上执行此操作
但是每次转换都没有标志,您必须手动为每个 Cnnnn
执行此操作。
我使用的是 MSVC,但最好能为其他主要编译器提及正确的标志。我需要这些标志只是为了实验目的。这些是我所指的警告的一些示例:
warning C4244: '=': conversion from 'T' to 'int', possible loss of data
warning C4244: '=': conversion from 'double' to 'Uint8', possible loss of data
warning C4244: 'argument': conversion from 'U' to 'T', possible loss of data
warning C4267: 'return': conversion from 'size_t' to 'int', possible loss of data
warning C4244: 'argument': conversion from 'float' to 'T', possible loss of data
warning C4244: 'initializing': conversion from 'float' to 'T', possible loss of data
warning C4838: conversion from 'float' to 'T' requires a narrowing conversion
如果您想消除错误,您可以按照 the official documention 中所示进行操作。 MSVC 有警告级别,每个警告都分配给一个级别。因此,您要么更改应报告的级别,将特定警告分配给不同级别,要么使特定警告静音。
/wdnnnn
会消除错误nnnn
是警告编号。/wxnnnn
更改警告级别x
是新级别,nnnn
警告编号。
或者您可以使用 #pragma
但是每次转换都没有标志,您必须手动为每个 Cnnnn
执行此操作。