C 에서 Enum 의 크기는 컴파일러에 따라 변할 수 있다.


Debug 빌드에서는 4바이트로 빌드가 되는데 Release 빌드에서는 1바이트로 빌드가 되는 현상이다.


해결 방법은 Enum 의 크기를 미리 조절 해 주는 것이다.


ex)

enum testEnum1
{
VAL_1 = 0,
VAL_2,
VAL_3
}

enum testEnum2
{
VAL_1 = 0,
VAL_2,
VAL_3,
EOE = 0xffffff;
}

testEnum1 의 경우 1바이트로 컴파일이 되는 경우가 발생하나 

testEnum2 의 경우 마지막에 사용하지 않는 값을 이용해서 4바이트로 크기를 변환 한 것이다.




Posted by 후미카
:

CCSpriteBatchNode 를 사용하는데 addChild 되어있는 이미지가 전부 나오지 않는 경우가 있다.

이때는 capacity 를 의심 해 볼 필요가 있는데 로그를 보면 CCSpriteBatchNode 의 capacity를 자동으로 늘려주는 로그가 있다.

이 로그에서 capacity 값이 내가 addChild 한 값보다 작은경우 addChild 한 갯수만큼 처음 생성할때 capatcity 값을 지정해주면 문제 없이 표현이 된다.



    CCSpriteBatchNode* spriteBatch = CCSpriteBatchNode::create("spriteName.png",66);
Posted by 후미카
:

error C2243: '형식 캐스팅' : ....(으)로의 변환이 있지만 액세스할 수 없습니다.


에러메세지는 클래스 상속에서 발생.


class B : A
{
    ...
};

위와 같이 클래스명으로만 상속을 받게 되면 생기는 에러 메세지 이다.



class B : public A
{
    ...
};

위와 같은 형태로 상속받아야 한다.

Posted by 후미카
:

error C2360: 'value' 초기화가 'case' 레이블에 의해 생략되었습니다.


case 문 내에서 선언된 로컬변수 때문에 발생하는 오류이다.

할당된 영역이 실행 로직에 따라 가변적이므로 컴파일 시 스택 영역의 크기를 알 수 없기 떄문에 발생하는 오류.


해결방법 :


case 문 내에서 선언 및 초기화를 할 때애는 {} 를 사용하면된다.




switch(type)
{
case A:
	{
		int i = 0;
	}
	break;
}


Posted by 후미카
:

XP에서 Visual C++ Intelisence를 사용 할 수 없는 경우가 있다.


이때는 http://msdn.microsoft.com/ko-kr/library/ks1ka3t6.aspx 에서 설정을 확인 해 보고 문제가 없다면 


http://support.microsoft.com/kb/2526044/ko 이곳에서 핫픽스를 적용 하면 된다.


핫픽스는 Microsoft Visual Studio 2010 서비스 팩 1 (SP1) 이 설치 되어 있어야 한다.


핫픽스 다운로드

http://support.microsoft.com/kb/2526044/ko



Posted by 후미카
:

카테고리

전체보기 (102)
Development (102)

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

달력

«   2024/05   »
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

글 보관함