相关疑难解决方法(0)

添加两个字符会产生int

我做了一个简单的程序,用GCC 4.4/4.5编译如下:

int main ()
{
  char u = 10;
  char x = 'x';
  char i = u + x;

  return 0;
}
Run Code Online (Sandbox Code Playgroud)

g ++ -c -Wconversion a.cpp

我有以下内容:

a.cpp: In function ‘int main()’:
a.cpp:5:16: warning: conversion to ‘char’ from ‘int’ may alter its value
Run Code Online (Sandbox Code Playgroud)

我为以下代码得到了同样的警告:

  unsigned short u = 10;
  unsigned short x = 0;
  unsigned short i = u + x;

a.cpp: In function ‘int main()’:
a.cpp:5:16: warning: conversion to ‘short unsigned int’ from ‘int’ may alter its …
Run Code Online (Sandbox Code Playgroud)

c++ integer integer-overflow integer-promotion

21
推荐指数
2
解决办法
1万
查看次数