2014-02-28 47 views
0

將堆棧傳遞給方法的正確方法是什麼?我收到一個錯誤,說我的方法調用有一些無效的參數。將堆棧傳遞給方法

string userInput = inputText.Text; 
Stack<double> numbers= new Stack<double>(); 
Stack<char> operators = new Stack<char>(); 
bool output; 

output = calculateExpression(userInput, Stack<double> numbers, Stack<char> operators); 

我的定義:

double calculateExpression(string userInput, Stack<double> numbers, Stack<char> operators) 
{} 
+0

您不能分配雙重到布爾。或者是一個錯字? – Blorgbeard

回答

6

你不需要在函數調用的類型:

output = calculateExpression(userInput, numbers, operators); 

我還注意到,您的函數返回一個雙,但你給它分配到一個布爾。 您可以通過改變輸出無功型像解決這個問題:

double output; 

double calculateExpression(string userInput, Stack<double> numbers, Stack<char> operators) 
    {} 

或通過改變像函數的返回值:

bool calculateExpression(string userInput, Stack<double> numbers, Stack<char> operators) 
{} 
+0

哇,我以爲我嘗試刪除類型...你是對的。謝謝。一旦它允許我在10分鐘內接受你的答案。再次感謝您的快速響應! – Mario

+0

讚賞!簡單的事情可以很容易忽略。 – RacerNerd

+0

是的,我注意到,那是一個錯字。我補充說,以限制問題的背景。我實際上是將它發送到一個asp.net標籤。所以我仍然需要將輸出轉換爲字符串。 – Mario