Thread: What does this error mean?

  1. #1
    Banned
    Join Date
    Nov 2007
    Posts
    678

    What does this error mean?

    While changing one boost signal from single parameter to taking two parameters, I got this error, I checked my code, since I do not understand the error at all. For me the code seemed okay, now I am unsure what does this error want to say. To make it worse, the error points in boost source, rather than in my source.
    Code:
    C:\dev\mix\Boost\Boost\include\boost-1_34_1\boost\bind.hpp(66) : error C2825: 'F
    ::result_type': cannot form a qualified name
            C:\dev\mix\Boost\Boost\include\boost-1_34_1\boost\bind\bind_template.hpp
    (15) : see reference to class template instantiation 'boost::_bi::result_traits<
    R,F>' being compiled
            with
            [
                R=boost::_bi::unspecified,
                F=void (__thiscall QtProfileBar::* )(std::string)
            ]
            wengophone\src\presentation\qt\profilebar\QtProfileBar.cpp(67) : see reference to class template instantiation 'boost::_bi::bind_t<R,F,L>' being compiled
            with
            [
                R=boost::_bi::unspecified,
                F=void (__thiscall QtProfileBar::* )(std::string),
                L=boost::_bi::list3<boost::_bi::list_av_3<QtProfileBar *,boost::arg<
    1>,boost::arg<2>>::B1,boost::_bi::list_av_3<QtProfileBar *,boost::arg<1>,boost::
    arg<2>>::B2,boost::_bi::list_av_3<QtProfileBar *,boost::arg<1>,boost::arg<2>>::B3>
            ]
    C:\dev\mix\Boost\Boost\include\boost-1_34_1\boost\bind.hpp(66) : error C2039: 'result_type' : is not a member of 'operator``global namespace'''
    C:\dev\mix\Boost\Boost\include\boost-1_34_1\boost\bind.hpp(66) : error C2146: syntax error : missing ';' before identifier 'type'
    C:\dev\mix\Boost\Boost\include\boost-1_34_1\boost\bind.hpp(66) : error C2955: 'boost::_bi::type' : use of class template requires template argument list
            C:\dev\mix\Boost\Boost\include\boost-1_34_1\boost\bind.hpp(125) : see declaration of 'boost::_bi::type'
    C:\dev\mix\Boost\Boost\include\boost-1_34_1\boost\bind.hpp(66) : fatal error C19
    03: unable to recover from previous error(s); stopping compilation
    Last edited by manav; 06-04-2008 at 12:25 AM.

  2. #2
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    Well, how about the source which invokes the error?
    Quote Originally Posted by Adak View Post
    io.h certainly IS included in some modern compilers. It is no longer part of the standard for C, but it is nevertheless, included in the very latest Pelles C versions.
    Quote Originally Posted by Salem View Post
    You mean it's included as a crutch to help ancient programmers limp along without them having to relearn too much.

    Outside of your DOS world, your header file is meaningless.

  3. #3
    Banned
    Join Date
    Nov 2007
    Posts
    678
    I would paste the source also, but, that is not going to make it any simpler, I guess. The source is also a little customized, so needs more explanation. Besides, I think some of the forum members, who are pretty used to boost, can have a quick look at the error message and may give me some hint, which is more readable than the above error.

  4. #4
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    Templates are tricky creatures with tricky errors. It's usually not possible to look and say what's wrong.
    Besides, even if they do know what's wrong, how would you know how to correct it?
    And it is usually easier to figure out the error by looking at the source. Maybe just the line that causes the error.
    Quote Originally Posted by Adak View Post
    io.h certainly IS included in some modern compilers. It is no longer part of the standard for C, but it is nevertheless, included in the very latest Pelles C versions.
    Quote Originally Posted by Salem View Post
    You mean it's included as a crutch to help ancient programmers limp along without them having to relearn too much.

    Outside of your DOS world, your header file is meaningless.

Popular pages Recent additions subscribe to a feed