Форум программистов, компьютерный форум CyberForum.ru

PRINT_ELEMENTS что это такое? - C++

Восстановить пароль Регистрация
 
nazsal
2 / 2 / 0
Регистрация: 27.11.2011
Сообщений: 60
09.05.2013, 23:49     PRINT_ELEMENTS что это такое? #1
В общем дан код для отладки. Исправил вроде бы все ошибки, кроме строчек c PRINT_ELEMENTS. Выскакивает ошибка:`PRINT_ELEMENTS' undeclared (first use this function). Насколько я понял для использования этой функции нужно подключить #include "print.hpp", но этого файла нет.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <list> 
#include <iostream>
#include <cstdlib>
#include <vector>
#include <algorithm>
#include <functional>
#include <iterator> 
#include "print.hpp"
using namespace std;
 
 
    class AddValue 
                  { 
                   private:
                   int theValue; 
                   public:
                     
                   AddValue(int v) : theValue(v) {}
    
                   void operator ()(int& elem) const {
                   elem += theValue;}
                   };
                   
int main(int argc, char *argv[])
        {
         list<int> coll;   
           
         for (int i=1; i<=9; ++i) 
         {
         coll.push_back(i);    
         }
         
         PRINT_ELEMENTS(coll.size(),"initialized: ");
         
         for_each (coll.begin(),coll.end(),AddValue(10));
         PRINT_ELEMENTS(coll,"after adding 10: ");
        
         for_each (coll .begin(),coll.end(),AddValue(*coll.begin()));//  
         PRINT_ELEMENTS(coll,"after adding first element: ");
                                    
    system("PAUSE");
    return EXIT_SUCCESS;                    
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.05.2013, 23:49     PRINT_ELEMENTS что это такое?
Посмотрите здесь:

Is up to date что это такое? C++
Что это такое??? C++
Что такое stdafx.h и как это отключить? C++
C++ cstdarg и stdarg.h - что это такое?
C++ Назначение flag, то есть что это вообще такое
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
10.05.2013, 00:08     PRINT_ELEMENTS что это такое? #2
Цитата Сообщение от nazsal Посмотреть сообщение
Насколько я понял для использования этой функции нужно подключить #include "print.hpp", но этого файла нет.
Может её нужно самому сделать? Распечатка list<int>.

Добавлено через 2 минуты
Уверены, что всё правильно написано?
C++
1
2
3
PRINT_ELEMENTS(coll.size(),"initialized: ");
PRINT_ELEMENTS(coll,"after adding 10: ");
PRINT_ELEMENTS(coll,"after adding first element: ");
По логике, нужно coll передавать, а не coll.size().
nazsal
2 / 2 / 0
Регистрация: 27.11.2011
Сообщений: 60
10.05.2013, 00:16  [ТС]     PRINT_ELEMENTS что это такое? #3
код я не сам писал, задача заключалась в исправлении ошибок.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
10.05.2013, 00:18     PRINT_ELEMENTS что это такое? #4
nazsal, И чего? Значит вам должны были дать файл print.hpp
nazsal
2 / 2 / 0
Регистрация: 27.11.2011
Сообщений: 60
10.05.2013, 00:46  [ТС]     PRINT_ELEMENTS что это такое? #5
ввобщем разобрался:
вот пример файла(нашел в интернете)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
 
/* PRINT_ELEMENTS()
  * - prints optional C-string optcstr followed by
  * - all elements of the collection coll
  * - separated by spaces
  */
 template <class T>
 inline void PRINT_ELEMENTS (const T& coll, const char* optcstr="")
 {
     typename T::const_iterator pos;
 
     std::cout << optcstr;
     for (pos=coll.begin(); pos!=coll.end(); ++pos) {
         std::cout << *pos << ' ';
     }
     std::cout << std::endl;
 }
и действительно нужно было писать
C++
1
PRINT_ELEMENTS(coll,"initialized: ");
вместо
C++
1
PRINT_ELEMENTS(coll.size(),"initialized: ");
Yandex
Объявления
10.05.2013, 00:46     PRINT_ELEMENTS что это такое?
Ответ Создать тему
Опции темы

Текущее время: 14:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru