android switch 未定义,在switch语句中初始化时未定义的变量?
問題本身就是一個明顯的答案.無論如何,這是我的代碼片段......
switch(cSet)...
case 8:{ //Special Characters
finalSet = special;
char* charSet = new char[special.size() + 1];
charSet[special.size()] = 0; //Append null terminator
memcpy(charSet, special.c_str(), special.size());
break;
}
case 9:{ //Alphnumeric and Special character
finalSet = all;
char* charSet = new char[all.size() + 1];
charSet[all.size()] = 0; //Append null terminator
memcpy(charSet, all.c_str(), all.size());
break;
}
...
請注意,這finalSet是類型std::string.我需要將其保存為字符數組.在這個語句之后,我charSet在switch語句之外調用:
for(int i = 0; charSet; i++)
printf("%s", charSet[i]);
現在,很明顯switch語句是有條件的,因此可能并不總是聲明變量.因此,Visual Studio 2012會拋出錯誤" charSet未定義".不過,我charSet總是會定義我的switch語句的結構,或者程序將在這種default情況下退出.
為了解決這個問題,我試圖charSet在switch語句的范圍之外聲明.但是,當我這樣做時,由于某種原因,編譯器會拋出讀取訪問錯誤.
我很好奇如何解決這個問題.
任何建設性的意見表示贊賞.
在switch語句外聲明時出錯:
`Unhandled exception at 0x0F6616B3 (msvcr110d.dll) in cuda_comb.exe: 0xC0000005: Access violation reading location 0x00000061.`
總結
以上是生活随笔為你收集整理的android switch 未定义,在switch语句中初始化时未定义的变量?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 新材料概念股 资金追捧的又一个赛道
- 下一篇: 金融投资有那些