Ciao,
ho difficoltà nell'utilizzare una funzione esportata da una lib C++ in un progetto .NET in C#.

Mostro il codice: (C++)

codice:
        __declspec(dllexport) void FuncC(
            Mlp* net,
            double **inputPatterns,
            double **outputPatterns,
            uint inputRows,
            uint num_input_units,
            uint num_units_for_output_layer,
            double errorTarget = 0.01,
            uint maxEpochs = 10000,
            double maxUpdateValue = 50.0,
            double minupdateValue = 0.001,
            double growthFactor = 1.2,
            double decreaseFactor = 0.5
            )
        {
....
Nel passare le due matrici double ho sempre un'eccezzione... ({"Tentativo di lettura o scrittura della memoria protetta. Spesso questa condizione....etc) dipende cmq da un passaggio di parametri errato a quanto ho capito.... ho provato ad impostare vari parametri per le marshal ma non ho capito.
In teoria dovrebbe essere dal codice C#:

codice:
        [DllImport("libsann.dll", CallingConvention=CallingConvention.Cdecl)]
        public extern static void FuncSharp(
            IntPtr net,
            [In, Out] double[,] inputPatterns,
            [In, Out] double[,] outputPatterns,
            uint inputRows, 
            uint numberOfInputUnits, 
            uint numberOfUnitsForOutputLayer, 
            double errorTarget = 0.01, 
            uint maxEpochs = 100000, 
            double maxUpdateValue = 50.0, 
            double minUpdateValue = 0.001, 
            double growthFactor = 1.2, 
            double decreaseFactor = 0.5);
Ho letto qui:
http://msdn.microsoft.com/en-us/library/hk9wyw21.aspx
secondo voi?
grazie.