我正在尝试解释作为输入的公式:
y= y argv[1][s] 5;
Run Code Online (Sandbox Code Playgroud)
例如,哪里argv[1][s]可以+ - *.
y = y + 5;
y = y*5;
我可以使用特定值的检查,但更有趣的是找出为什么这不起作用.
错误C2146:语法错误:缺少';' 在标识符'argv'之前
我认为发生的+是传递,'+'因此没有操作结果.有没有办法解决这个问题?
不,因为这不是C++的工作原理.您的代码必须在编译时有意义,以便编译器可以将其转换为一组固定的汇编程序指令.运行时文本未被"替换"; 在某些解释语言中没有"eval"的等价物.
如果你想这样做,你需要做类似的事情:
switch (argv[1][s])
{
case '+':
y = y + 5;
break;
case '-':
y = y - 5;
break;
case '*':
y = y * 5;
break;
default:
std::cerr << "Unrecognised operator: \"" << argv[1][s] << "\"" << std::endl;
break;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
107 次 |
| 最近记录: |