The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
g++ 4 и iterator, !*! Arifolth, 10-Апр-07, 18:20  [смотреть все]
Всем привет!

gcc (GCC) 4.1.2 20061115 (prerelease) (SUSE Linux)

столкнулся с проблемой которой никогда раньше не видел,
гнусь заявляет мне при попытке создать итератор и пройтись им по вектору

conversion from "тут много текста" to non-scalar type "тут много текста" requested

struct attr {
bool in;
size_t doc;
};

typedef map <string, attr> FV;
typedef vector <FV> docs;
...
docs Docs;
...
for( docs::iterator p = Docs.begin(); p != Docs.end(); ++p)
{
...
}

на предидущих версиях гнуси это работало (вроде).

Linux arifolth 2.6.18.2-34-default #1 SMP Mon Nov 27 11:46:27 UTC 2006 x86_64 x86_64 x86_64 GNU/Linux

заранее благодарен
_________________
WBR, Arifolth

  • g++ 4 и iterator, !*! DeadMustdie, 10:28 , 11-Апр-07 (1)
    Полное сообщение об ошибке в студию, please.
    Поскольку:

    $
    $ cat test.cpp
    #include <string>
    #include <map>
    #include <vector>
    #include <stdio.h>
    #include <stdlib.h>

    using namespace std;

    struct attr {
    bool in;
    size_t doc;
    };

    int main()
    {
      typedef map <string, attr> FV;
      typedef vector <FV> docs;

      docs Docs;
      for( docs::iterator p = Docs.begin(); p != Docs.end(); ++p)
        /*noop*/;
      return 0;
    }
    $
    $ g++ test.cpp -lstdc++
    $
    $ uname -a
    Linux white 2.6.19.3 #1 Wed Feb 14 16:57:20 MSK 2007 i686 GNU/Linux
    $
    $ g++ -v
    Using built-in specs.
    Target: i486-linux-gnu
    Configured with: ../src/configure -v --enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --program-suffix=-4.1 --enable-__cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug --enable-mpfr --with-tune=i686 --enable-checking=release i486-linux-gnu
    Thread model: posix
    gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)
    $

    • g++ 4 и iterator, !*! Arifolth, 11:42 , 11-Апр-07 (2)
      >Полное сообщение об ошибке в студию, please.
      >Поскольку:
      >
      >$
      >$ cat test.cpp
      >#include <string>
      >#include <map>
      >#include <vector>
      >#include <stdio.h>
      >#include <stdlib.h>
      >
      >using namespace std;
      >
      >struct attr {
      >bool in;
      >size_t doc;
      >};
      >
      >int main()
      >{
      >  typedef map <string, attr> FV;
      >  typedef vector <FV> docs;
      >
      >  docs Docs;
      >  for( docs::iterator p = Docs.begin(); p != Docs.end(); ++p)
      >    /*noop*/;
      >  return 0;
      >}
      >$
      >$ g++ test.cpp -lstdc++
      >$
      >$ uname -a
      >Linux white 2.6.19.3 #1 Wed Feb 14 16:57:20 MSK 2007 i686 GNU/Linux
      >
      >$
      >$ g++ -v
      >Using built-in specs.
      >Target: i486-linux-gnu
      >Configured with: ../src/configure -v --enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls
      >--program-suffix=-4.1 --enable-__cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug --enable-mpfr --with-tune=i686 --enable-checking=release i486-linux-gnu
      >Thread model: posix
      >gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)
      >$

      всем спасибо,
      вопрос закрыт, исправил
      похоже что я чего то накосячил вот видимо поэтому и лезла такая ошибка

      error: conversion from ‘__gnu_cxx::__normal_iterator<const std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, NB::attr, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, NB::attr> > >*, std::vector<std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, NB::attr, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, NB::attr> > >, std::allocator<std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, NB::attr, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, NB::attr> > > > > >’ to non-scalar type ‘__gnu_cxx::__normal_iterator<std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, NB::attr, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, NB::attr> > >*, std::vector<std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, NB::attr, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, NB::attr> > >, std::allocator<std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, NB::attr, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, NB::attr> > > > > >’ requested




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру