Visual C ++ не позволяет iostream - PullRequest
0 голосов
/ 15 февраля 2012

Я только начал C ++, я читаю книгу Начиная с C ++ 7-е издание.Я скопировал код из книги и поместил его в Visual, в новом консольном приложении проекта w32 с предварительно скомпилированными заголовками.Ну, когда я использую iostream в строке директивы препроцессора, я получаю .. Я искал вокруг и не понимаю, почему iostream не будет работать, любая помощь?

1>------ Build started: Project: dd, Configuration: Debug Win32 ------
1>  stdafx.cpp 1>  dd.cpp 1>c:\documents and settings\leon\my documents\visual studio 2010\projects\dd\dd\dd.cpp(24): fatal error
C1010: unexpected end of file while looking for precompiled header.
Did you forget to add '#include "StdAfx.h"' to your source?
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
    1 // This program calculates the user's pay.
    2 #include <iostream>
    3 using namespace std;
    4
    5 int main()
    6 {
    7 double hours, rate, pay;
    8
    9 // Get the number of hours worked.
    10 cout << "How many hours did you work? ";
    11 cin >> hours;
    12
    13 // Get the hourly pay rate.
    14 cout << "How much do you get paid per hour? ";
    15 cin >> rate;
    16
    17 // Calculate the pay.
    18 pay = hours * rate;
    19
    20 // Display the pay.
    21 cout << "You have earned $" << pay << endl;
    22 return 0;
    23 }

Ответы [ 5 ]

2 голосов
/ 15 февраля 2012

В Visual C ++ проект может использовать так называемые «предварительно скомпилированные заголовки». Это методика, помогающая ускорить построение проекта. Чтобы это работало, вам нужно #include файл "stdafx.h" как первое, что вы делаете в исходном файле.

Поэтому добавьте эту строку перед включением iostream:

#include "stdafx.h"

При повторной сборке все должно работать.

2 голосов
/ 15 февраля 2012

Это не из-за iostream, а потому, что вы забыли включить stdafx.h.

Ошибка довольно очевидна. Если вы создаете проекты с прекомпилированными заголовками, вы должны включить stdafx.h в начале ваших файлов реализации.

1 голос
/ 15 февраля 2012

Включить следующий заголовок ..

#include "stdafx.h"
0 голосов
/ 06 апреля 2013

Попробуйте это:

#include "stdafx.h"
#include "iostream"    

(удалить расширение .h - VS2010, похоже, не находит файл заголовка с таким расширением)?

0 голосов
/ 15 февраля 2012

Когда вы создаете новый проект, вместо того, чтобы выбирать «консольное приложение w32», выберите «Пустой проект», затем создайте новый файл CPP, и код должен работать!

...