2014-04-01 45 views
-3

「預期的成員名稱或‘;’後聲明說明符」的錯誤出現在頂線開關(東西)開關/外殼 - 預期的成員名稱或「;」聲明說明符後

float waveform = getParameter(6); 

switch(waveform){ 
    case 1: Sine signalGenerator 
     break; 
    case 2: SawWave signalGenerator 
     break; 
    case 3: SquareWave signalGenerator 
     break; 
    default: Sine signalGenerator 
} 

如何排序這將是偉大的任何建議!提前致謝!

這纔是真正的代碼:

float waveform = getParameter(6); 
switch(waveform) 
{ case 1: Sine signalGenerator break; 
    case 2: SawWave signalGenerator break; 
    case 3: SquareWave signalGenerator break; 
    default: Sine signalGenerator 
} 
+1

這意味着什麼:'case 1:stuff 1'? 'stuff 1'根本不是有效的語法,你的意思是在那裏發表評論:'case 1:// stuff 1'? –

+0

在此開關/外殼之前是否宣佈了「stuff」? – deepmax

+0

感謝您的快速回復。這是實際的代碼: float waveform = getParameter(6); 開關(波形)情況1:正弦信號發生器 中斷; 案例2:鋸齒波信號發生器 中斷;案例3:SquareWave信號發生器 break; 默認值:正弦信號發生器 } – user3484634

回答

2

你想要的大概是這樣的:

int waveform = (int) getParameter(6); 
WaveBase* sigGen; 
switch(waveform) { 
    case 1: sigGen = new Sine; break; 
    case 2: sigGen = new SawWave; break; 
    case 3: sigGen = new SquareWave; break; 
    default: sigGen = new Sine; 
} 

// use sigGen here 

delete sigGen; 

這個假設正弦,SawWave和方波有一個共同的基礎(他們應該)
和它的析構函數是虛擬的(它應該)

相關問題