2009-03-20 23 views
5

Próbuję przekonwertować następujących (skrócony dla czytelności) do C# i uruchomiony na problemyTablice wielowymiarowe w struct w C#

#define DISTMAX 10 
struct Distort { 
    int a_order; 
    double a[DISTMAX][DISTMAX]; 
}; 

myślałem w elemencie była to prosta sprawa używania „stałe” jednak wciąż mam problemy.

Oto co mam (z definiują wyżej strony):

const int DISTMAX = 10; 
struct Distort 
{ 
     int a_order; 
     fixed double a[DISTMAX,DISTMAX]; 
} 

Błąd pojawia jest stimply błąd składni] i [oczekuje na skutek czego można oczekiwać, aby być ograniczenie z jednej tablicy wymiarów.

Czy istnieje sposób obejścia tego?

Odpowiedz

7

Stałe bufory mogą być jednowymiarowe. Będziesz musiał użyć:

unsafe struct Distort 
{ 
    int a_order; 
    fixed double a[DISTMAX * DISTMAX]; 
} 

, a następnie wykonaj odpowiednią arytmetykę, aby uzyskać indywidualne wartości.

+0

Potwierdza to, co już podejrzewałem. Dzięki. – John

+0

Czy nie musisz również oznaczać go jako niebezpiecznego? –