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
[56216] Re:Template 사용시 union 데이터 형을 사용시 생성자 인식 불가 문제
%uAE40%uC0C1%uBA74 [windyboy] 1513 읽음    2009-02-20 16:24
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif

#include <iostream.h>
#include <stdlib.h>
#include <unistd.h>
#include <curses.h>
#include <stdio.h>

using namespace std;

struct InRect
{    int left;
    int top;
    int right;
    int bottom;
};

template <typename Type = int>
struct RECT
{    union
    {    struct
        {    Type left;
            Type top;
            Type right;
            Type bottom;
        };
        InRect in;
    };
   
    RECT(Type l, Type t, Type r, Type b)
    {    left = l;
        top = t;
        right = r;
        bottom = b;
    }
};

int main(int argc, char *argv[])
{    struct RECT<int> r(1,1,10,10);

    cout << r.left << ':' << r.in.left << endl;
    cout << r.top << ':' << r.in.top << endl;
    cout << r.right << ':' << r.in.right << endl;
    cout << r.bottom << ':' << r.in.bottom << endl;
   
    return EXIT_SUCCESS;
}


위는 제가 테스트한 소스입니다.
특별히 다른 에러는 발생한게 없습니다.

그리고 아래는 KDevelop 버전입니다.
   KDevelop 2.1.5 (Using KDE 3.1-10 Red Hat)
아래는 GCC버전입니다. (gcc -v명령 사용 )
   gcc version 3.2.2 20030222 (Red hat Linux 3.2.2-5)
아직 실력이 부족하여 도움이 될런지 모르겠습니다.
많은 도움을 드리지 못해 죄송합니다.
그럼
  
전재득 님이 쓰신 글 :
: 아닙니다 ㅠㅠ 정확한 정보를 올리지 못해 생긴 오해로 오히려 제가 더 죄송하네요 ㅠㅠ
:
: KDevelop 라면 컴파일러는 GCC를 사용 할거 같은데 GCC버전이 어떻게 되나요 ?
:
: gcc version 3.4.2 (mingw-special) 버전으로 테스트 했을때는 저런 경고는 없었거든요 ㅠㅠ
:
: 아 그리고 혹시 실행 했을때 잘 작동은 했나요? 경고만 떴었나요?
:
: 답변 주셔서 감사합니다. ㅠㅠ 이문제 때문에 아직도 고민이 많네요 ㅠㅠ
:
:
:
:
:
:
:
: 김상면 님이 쓰신 글 :
: : main.cpp:31: warning: ISO C++ prohibits anonymous structs
: : 먼저 실력도 없으면서 주제 넘게 답변을 달아서 문제를 잃으긴점 사과 드립니다.
: :
: : 제가 영어는 까막눈이라서 잘은 모르지만....
: : 대충 표준에서는 익명의 구조체을 인정하지 않는다고 하는군요...
: : (해석이 정확한지 모르겠군요)
: : 그래서 문제가 발생한게 아닌가요..
: : 테스트 환경은 KDevelop입니다.
: : 그럼
: :
: : 전재득 님이 쓰신 글 :
: : : template< typename TN=int >
: : : struct MyRect
: : : {
: : :     union
: : :     {
: : :         struct
: : :         {
: : :             TN Left;
: : :             TN Top;
: : :             TN Right;
: : :             TN Bottom;
: : :         };
: : :
: : :         RECT Rect;
: : :     };
: : :
: : :     MyRect( void ){ Left = Top = Right = Bottom = 0; }
: : :     MyRect( TN l, TN t, TN r, TN b )
: : :     {
: : :         Left = l;
: : :         Top = t;
: : :         Right = r;
: : :         Bottom = b;
: : :     }
: : : };
: : :
: : : 이런 template struct 를 만들었 습니다.
: : :
: : : MyRect<int> rect( 0, 0, 0, 0);
: : :
: : : 이렇게 사용했는데;; 뭐가 문제인지;; vs 에서는 잘작동하고 c++ 표준에 어긋난거 같진 않은데;;
: : :
: : : 컴파일러가 바보라서 그런걸까여???
: : :
: : : Turbo C++ 무료 버전을 사용 했습니다. 버그 fix 패치는 대부분 했구요...
: : :
: : : 이런 황당한 문제 겪어 보신분 ㅠㅠ 뭐가 문제인건지;;;
: : :
: : : union 을 안쓰고 그냥 밖으로 꺼내면 잘작동하긴 하는데;;;
: : :
: : :
: : : ps. 게시판에 바로 쓰느라 정확한 코드가 적용이 안되었 군요.. 다시 수정 하였습니다...

+ -

관련 글 리스트
56166 Template 사용시 union 데이터 형을 사용시 생성자 인식 불가 문제 전재득 1491 2009/02/16
56214     Re:Template 사용시 union 데이터 형을 사용시 생성자 인식 불가 문제 김상면 1262 2009/02/20
56215         Re:Re:Template 사용시 union 데이터 형을 사용시 생성자 인식 불가 문제 전재득 1240 2009/02/20
56216             Re:Template 사용시 union 데이터 형을 사용시 생성자 인식 불가 문제 %uAE40%uC0C1%uBA74 1513 2009/02/20
56218                 Re:Re:Template 사용시 union 데이터 형을 사용시 생성자 인식 불가 문제 전재득 1353 2009/02/20
56171     Re:Template 사용시 union 데이터 형을 사용시 생성자 인식 불가 문제 김태선 1156 2009/02/17
56172         Re:Re:Template 사용시 union 데이터 형을 사용시 생성자 인식 불가 문제 전재득 1201 2009/02/17
56176             Re:Re:Re:Template 사용시 union 데이터 형을 사용시 생성자 인식 불가 문제 김태선 1105 2009/02/17
56177                 Re:Re:Re:Re:Template 사용시 union 데이터 형을 사용시 생성자 인식 불가 문제 전재득 1216 2009/02/17
56178                     Re:Re:Re:Re:Re:Template 사용시 union 데이터 형을 사용시 생성자 인식 불가 문제 김태선 1106 2009/02/17
56180                         Template 사용시 union 데이터 형을 사용시 생성자 인식 불가 문제 전재득 1307 2009/02/17
56168     Re:Template 사용시 union 데이터 형을 사용시 생성자 인식 불가 문제 김상면 1284 2009/02/17
56169         Re:Re:Template 사용시 union 데이터 형을 사용시 생성자 인식 불가 문제 전재득 1316 2009/02/17
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.