Вторник, 2017-10-24, 11:33 AM

Поиск
Меню
Категории раздела
PHP [40]
Cкриптовый язык программирования общего назначения
MySQL [1]
Cвободная система управления базами данных (СУБД)
jQuery [8]
Библиотека JavaScript, фокусирующаяся на взаимодействии JavaScript и HTML
CSS [60]
Cредство описания, оформления внешнего вида веб-страниц
JavaScript [161]
Прототипно-ориентированный скриптовый язык программирования
Веб-дизайн [2]
Проектирование пользовательских веб-интерфейсов для сайтов или веб-приложений
RegExp [1]
Регулярные выражения
SEO [2]
Продвижение и раскрутка сайтов. Заработок в сети.
C/C++ [3]
Компилируемый статически типизированный язык программирования общего назначения
Windows [4]
Программистам под ОС MS Windows
HGE [2]
Игровой движок HGE (Haaf's Game Engine)
Игровой дизайн [8]
Психология дизайна игр
Разработка игр [2]
Общие моменты, относящиеся к геймдеву
wxWidgets [2]
Библиотека инструментов для разработки кроссплатформенных приложений
PureBasic [10]
Кроссплатформенный компилятор и IDE для быстрой разработки
VST [6]
Steinberg's Virtual Studio Technology (VST)
iOS [1]
Mобильная операционная система, разрабатываемая и выпускаемая американской компанией Apple
Пиксельная графика [9]
Pixel art и все, что с ним связано
libGDX [2]
Кроссплатформенный открытый движок на Java, позволяющий создавать 2D и 3D игры под различные платформы, среди которых: Android, HTML5, Windows, Linux, iOS.
Поддержи проект!
Рекомендуем


Блог разработчика

Главная » 2011 » Июнь » 8 » Функция с прототипом не вызвана (предполагалось определение переменной?)
4:24 PM
Функция с прототипом не вызвана (предполагалось определение переменной?)
Дан файл, заполненный числами типа int. Требуется заполнить числами из файла контейнер list из стандартной библиотеки. Является ли следующее решение верным? Ответ объясните. 
ifstream dataFile("ints.dat");
list<int> data(istream_iterator<int>(dataFile),
istream_iterator<int>());
Ответ: Во второй строке не объявлен список data, а вместо этого (с точки зрения компилятора) объявлена функция data(). что вызывает ошибку C4930. Проблема возникает из-за скобок. В нашем случае в первом параметре скобки следует добавить. Нижеприведенный код работает в MS VC++ 2010
#include "stdafx.h"
#include <fstream>
#include <list>
#include "iterator"

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
 ifstream dataFile("c:\\ints.dat");
 list<int> data((istream_iterator<int>(dataFile)), istream_iterator<int>());
 
 return 0;
}
Категория: C/C++ | Просмотров: 1521 | Добавил: pop | Теги: c++ | Рейтинг: 0.0/0

Поблагодарить автора



Комментарии