#include "std_lib_facilities.h"
int main()
{
constexpr double euro_to_dollar = 1.11;
constexpr double yen_to_dollar = 0.0081;
double dollar = 1.00;
char unit= 'A';
cout <"Please enter a value followed by e or y: \n";
cin >>dollar>> unit;
if (unit= 'e')
cout << dollar << "Euro == " << euro_to_dollar*dollar << "dollar\n";
else if (unit='y')
cout << dollar << "Yen== " << yen_to_dollar * dollar << "dollar\n";
}
5 error: 'constexpr' was not declared in this scope 5 error: expected ';' before 'double' 7 error: expected ';' before 'double' 15 error: 'euro_to_dollar' was not declared in this scope 17 error: 'yen_to_dollar' was not declared in this scope
我在Bjarne Stroustrup的编程:原理和实践使用C ++(第2版)中遇到了问题。我可以看到我在这里做错了什么。我是一个学习C ++的人,所以我基本上是初学者。我很感激帮助人员。
答案 0 :(得分:1)
{+ 1}}关键字是在C ++ 11中引入的,使用constexpr
进行编译。
示例:
使用g ++:-std=c++11
代码:: blocks:
设置 - &gt;编译器 - &gt;编译器设置 - &gt;编译器标志 - &gt;勾选方框g++ main.cpp -o program.exe -std=c++11
- &gt;确定
您还要在if语句中分配变量,替换为Have g++ follow the C++ ISO C++ language standard
:
==
和
if (unit= 'e')
// ^
您在调用std :: cout时错过else if (unit='y')
// ^
:
<
答案 1 :(得分:1)
我不知道你的本地头文件中有什么
-scaleToFitPlots:
取而代之的是我添加了以下代码行
#include "std_lib_facilities.h"
#include<iostream>
using namespace std;
//做作业
应纠正如下
if(unit ==&#39; e&#39;),//检查是否相等
由于同样的原因, if (unit = 'e')
应纠正如下
else if (unit ='y')
此外,您应该使用编译器选项else if (unit =='y')