[語法] enum 指標
今天在做bitset的練習,但是發生一些問題,請板上前輩指點一下@@
先提供我的code
enum OffSet { OFFSET_0 , OFFSET_1 , OFFSET_2 , OFFSET_3 , OFFSET_MAX };
void BitSet(char* i_BitArray, OffSet* i_offset)
{
*i_BitArray |= 0x01 << *i_offset;
}
void main()
{
char* BitArray;
BitArray = new char[ OFFSET_MAX ];
for( int i=0; i<OFFSET_MAX ; ++i)
BitArray[i] = 0;
BitSet( BitArray , (OffSet*)OFFSET_3);
}
上面的code可以編譯成功,但是執行中會當掉,中斷點是在BitSet()裡面那行,
可是我如果把傳入的第二個引數改成OffSet而不要用指標的話就可以正常執行,
想請問這是什麼原因?
另外再請教一下,我覺得我的初始化方法並不是很好,如果陣列長度一長,應該
會花不少時間,不知道動態陣列new的時候能不能夠給初始化的值?
感謝!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.117.128.56
※ 編輯: yan04870449 來自: 122.117.128.56 (04/24 16:55)
推
04/24 17:06, , 1F
04/24 17:06, 1F
→
04/24 17:07, , 2F
04/24 17:07, 2F
→
04/24 17:07, , 3F
04/24 17:07, 3F
推
04/24 17:12, , 4F
04/24 17:12, 4F
→
04/24 17:12, , 5F
04/24 17:12, 5F
→
04/24 17:22, , 6F
04/24 17:22, 6F
推
04/24 17:23, , 7F
04/24 17:23, 7F
→
04/24 17:24, , 8F
04/24 17:24, 8F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章