2011-05-24 58 views
3

我有以下C#代碼。請幫助這個錯誤:運算符'^'不能應用於類型'double'和'int'的操作數

double a = 0; 
double d = 0; 
double er = 0; 
int N = numbers.Length; 
a=(N*N/6) + N 
d=(N-(N/2))*2 



    for(int aa=1;aa<=data.length;aa++) 
     { 

       er=((10-aa)*(-a\) + d - (numbers[aa,12]))^2; 

      } 

數字是雙陣列格式:

1 0.3232 0.361 0.5214 0.233 -0.7678 
2 0.3451 0.321 0.134 0.224 -0.706268 
3 0.3123 0.351 0.155 0.523 -0.70626 
4 0.36 0.312 0.216 0.233 -0.6453351 
5 0.269 0.3331 0.162 0.224 -0.584962 

但在運行代碼的時候,我得到了在這條線以下錯誤:

er=((10-aa)*(-a\) + d - (numbers[aa,12]))^2; 

任何幫助,將不勝感激。

回答

12

使用Math.Pow - 的^電力運營商,這是一個logical XOR運營商。

在c#中沒有電源操作符。

+0

也開始你的FOR循環在0,而不是1 – 2011-05-24 14:33:06

+0

謝謝,它的工作 – smack 2011-05-24 14:39:51

0

我不確定您打算如何使用^運算符,但在C,C++和C#中,它是xor運算符。它沒有爲非整數類型定義。如果你試圖做一個指數,你最好使用像Math.pow()或自己做乘法

相關問題