C ++语法错误:获得几个期待';'的错误

时间:2013-10-06 18:34:17

标签: c++ visual-c++

这是我关于SO的第一篇文章/问题。我正在关注Bjarne Stroustrup的书“Programming:Principles and Practice using C ++”,我正在尝试做'切换'语句。我收到了几个语法错误,例如:

  • 错误C2146:语法错误:缺少';'在标识符'value'之前,

  • 错误C2143:语法错误:缺少';'在'string'之前,警告

  • C4552:'*':运算符无效;预期的操作员有副作用,

另外,每次我想在语句中使用变量'value'时,我得到一个:

  • 智能感知:期待';'

错误。

我正在使用Visual Studio 2013 RC,我不知道为什么我无法运行此程序。我在一周前在OSX上运行了一个非常相似的版本,通过终端进行编译,运行正常。 IDE是问题,还是我的代码?我确信这只是一个新手的错误,但我只是没有看到问题。我已经完成了几次代码。我希望你能帮助我在这里指出我的菜鸟错误!..

感谢大家的任何意见,我非常感激!

这是我的代码:

#include "../std_lib_facilities.h"

int main()
{

int value = 1;
double euros = 11.2;
double yen = 989;
double pounds = 14.2;
char unit = ' ';

cout << "Welcome to this DOLLARS-TO-OTHER-CURRENCIES Program.'\n'";
cout << "Please enter a unit, then followed by a value: '\n'";
cout << "(e)uros, (y)en or (p)ounds.'\n'";

cin >> value >> unit;

switch (unit)
{
case 'e':
    cout << value << " dollars in Euros is: " value * euros ".'\n'";
        break;

case 'y':
    cout << value << " dollars in Yen is: " value * yen ".'\n'";
        break;

case 'p':
    cout << value << " dollars in British Pounds is: " value * pounds".'\n'";
        break;

default:
    cout << "COMPUTER ERROR. DOES NOT COMPUTE.'\n'";
    break;
}
}

2 个答案:

答案 0 :(得分:3)

在顶部添加以下行:

#include <iostream>
using namespace std;

您使用的是cincout,但是您没有包含定义这些名称的标头。

cout << value << " dollars in Euros is: " value * euros ".'\n'";

你想要

cout << value << " dollars in Euros is: " << value * euros << ".\n";

答案 1 :(得分:0)

cout << value << " dollars in Euros is: " value * euros ".'\n'";

你不能只将value * euros放在两个字符串之间。将其更改为:

cout << value << " dollars in Euros is: " << value * euros << ".'\n'";

其他事件相同。