C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[55086] for_each 써볼려고 하는데요.. 에러가..;;;(STL)
이용태 [kidary97] 1058 읽음    2008-11-03 16:07
STL의 unary_function을 이용해서 for_each()를 써볼려고 하는데요..

벡터 반복자 부분에서 자꾸 에러가 납니다.. 왜 에러가 나는지 도대체 모르겠습니다..ㅡㅡ;;;

소스는 단지.. 벡터에 있는 데이터를 PointAverage2 객체함수를 이용해 그대로 받아서 다시 리턴해서 출력하도록 했습니다.

뭐가 문제인가요?

답변 부탁드립니다..



//에러메시지
[C++ Error] _algo.h(65): E2064 Cannot initialize 'const vector<short,allocator<short> > &' with 'short'
[C++ Error] _algo.h(65): E2342 Type mismatch in parameter 'p' (wanted 'const vector<short,allocator<short> > &', got 'short')


//소스..
class PointAverage2 : public std::unary_function< std::vector<short>, int* >
{
    private:
        std::vector<int> sum;

    public :
        void operator()(const std::vector<short> &p)
        {
            for(int i = 0; i < p.size(); i++)
                sum.push_back(p[i]);
        }

        int* result()
        {
            return &sum[0];
        }
};



void __fastcall TForm1::Button3Click(TObject *Sender)
{
    std::vector<short> vp;

    vp.push_back(0);
    vp.push_back(1);
    vp.push_back(2);
    vp.push_back(3);
    vp.push_back(4);


    int *pData = for_each(vp.begin(), vp.end(), PointAverage2()).result();

    for(int i = 0; i < 5; i++)
    {
          ShowMessage(IntToStr(pData[i]));
    }
}
//---------------------------------------------------------------------------

+ -

관련 글 리스트
55086 for_each 써볼려고 하는데요.. 에러가..;;;(STL) 이용태 1058 2008/11/03
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.