-1

感谢您查看我的 C++ 问题。

我遇到了一个问题。

我得到了这种格式的公式

Data  = [ (percentage / 15) – (var1 + var2)  / 20]  *  [ var3 +  var4];

如果我将上面的语句放入,它将编译为

sample.cpp:131:1: error: stray ‘\342’ in program
sample.cpp:131:1: error: stray ‘\200’ in program
sample.cpp:131:1: error: stray ‘\223’ in program
sample.cpp:131:81: error: ‘(percentage/ 15)’ cannot be used as a function

如何更改数据语句以使公式在 C++ 中工作

4

1 回答 1

4

这里有两个问题:

  1. 您不能使用[and]对表达式进行分组。将它们更改为()
  2. 您使用的减号实际上是一个短划线(unicode 字符 U+2013),而不是您应该使用的正常连字符减号(U+002D)。从源文件字符到基本源字符集的映射是实现定义的,并且您的编译器不会将短划线映射到减号字符(我想像大多数编译器一样)。

这里的提示:不要只是将文本从文档复制到您的代码中,尤其是当其他文档不是代码时。

这是正确的表达方式:

Data  = ((percentage / 15) - (var1 + var2) / 20) * (var3 + var4);

您收到的错误表明出现了三个不应该存在的字节。它们是(八进制):342 200 223。在二进制中,即11100010 10000000 10010011. 快速谷歌搜索会告诉你这是 U+2013 的二进制表示。

于 2012-10-02T17:03:48.337 回答