2017-01-02 76 views
0
錯誤

我收到此錯誤團結 「名爲X的局部變量不能在此範圍中聲明」:獲得在Unity 5

5.50f3 資產/腳本/ BaseClient/client.cs(14701, 12):錯誤CS0136:名爲'text'的局部變量不能在此範圍內聲明,因爲它會給'text'賦予不同的含義,'text'已用於'子'範圍內以表示其他內容

這是一段代碼:

case 126: 

//String text = inStream.readString(); 
int frame = inStream.method435(); 
if (text.StartsWith("www.")) 
{ 
    //openURL(text); 
    pktType = -1; return true; 
} 
if(text != null && frame != null) 
{ 
    updateStrings(text, frame); 
    sendFrame126(text, frame); 
} 
if (frame >= 18144 && frame <= 18244) 
{ 
    //clanList[frame - 18144] = text; 
} 
pktType = -1; return true; 
+0

情況下給予不同的名稱126: \t \t \t \t //字符串文本= inStream.readString(); \t \t \t \t int frame = inStream.method435(); \t \t \t \t如果(text.StartsWith( 「WWW」)){ \t \t \t \t \t //的OpenURL(文本); \t \t \t \t \t pktType = -1; \t \t \t \t \t return true; \t \t \t \t} \t \t \t \t如果(文字!= NULL &&幀!= NULL) \t \t \t \t { \t \t \t \t updateStrings(文本,幀); \t \t \t \t sendFrame126(文本,幀); \t \t \t \t} \t \t \t \t如果(幀> = 18144 &&幀<= 18244){ \t \t \t \t \t // clanList [幀 - 18144] =文本; \t \t \t \t} \t \t \t \t pktType = -1; \t \t \t \t迴歸真實; –

+0

這不是如何提問。編輯你的問題,並將其添加到它。如果我是你,我真的裏面client.cs添加整個代碼,因爲一個變量可能聲明兩次。 – Programmer

+0

焦慮問題:我希望你沒有一個包含100多個案例的switch-case語句 – TheDjentleman

回答

1

錯誤只是讓您知道您正在重複使用兩個變量的同名:

int myVar = 0; //這個是全局的類

void開始() { int myVar = 20; //局部變量,同名=>問題 }

另一種情況是語句

if(condA) 
{ 
    int myResult = MethodA(); 
} 
else 
{ 
    int myResult = MethodB(); 
} 

內這可能是你所面臨的是什麼。無論是在每個小節給出一個不同的名稱或獲取變量的:

int myResult = -1; 
if(condA) 
{ 
    myResult = MethodA(); 
} 
else 
{ 
    myResult = MethodB(); 
} 

這是你面對可能的。無論是在每個