Pourquoi pourrais-je obtenir une exception non Gérée violation d'Accès écrit en c++/CLI?

J'ai été struggeling l'écriture d'une solution excisting d'un c++ win32console et d'une dll c++. j'ai enfin réussi à les faire parler sans erreurs d'édition de liens (donc je suis en supposant que les deux sont entièrement gérés c++/CLI projets) mais quand je lance la console, j'obtiens l'erreur suivante.

Exception non gérée à 0x03f71849 dans
De l'entreprise.Pins.Bank.Win32Console.exe:
0xC0000005: violation d'Accès en écriture
emplacement 0x00000001.

La console affiche les informations suivantes

Exception Non Gérée:
Système.NullReferenceException: Objet
de référence non définie à une instance d'un
objet. au wmain dans c:...\win32console.cpp:line
20 à _wmainCRTStartup()

mais je suppose que c'est à cause de l'exception non gérée.

la traque de cette erreur ainsi que je peux l'erreur se produit lorsque vous faites les revenir dans le bloc de code ci-dessous. (la méthode liée par le retour semble étape par amende, une peine lors du retour, il semble aller mal.) Juste au cas où vous ne l'auriez pas remarqué, je n'ai pas écrit le code ci-dessous de moi-même, il a été généré par visual studio.

#ifdef WPRFLAG
int wmainCRTStartup(
#else  /* WPRFLAG */
int mainCRTStartup(
#endif  /* WPRFLAG */

#endif  /* _WINMAIN_ */
        void
        )
{
        /*
         * The /GS security cookie must be initialized before any exception
         * handling targetting the current image is registered.  No function
         * using exception handling can be called in the current image until
         * after __security_init_cookie has been called.
         */
        __security_init_cookie();

        return __tmainCRTStartup();
}

#include "stdafx.h"
#include "UInstruction.h"

#define DllExport  __declspec(dllexport)
#define DllImport  __declspec(dllimport)

using namespace System;

edit: et le win32console.cpp le code est ci-dessous.

//int main(array<System::String ^> ^args)
int _tmain(int argc, _TCHAR* argv[])
{
    auto P2 = (TCHAR *)"3 Barrowstead";
    TCHAR* P3 = (TCHAR *)"3 Barrowstead";
    double* P1;
    P1[0] = 13;

    UserInstruction(P1, P2, P3);
}
Auriez-vous l'esprit de partage win32console.cpp?
j'ai ajouté le code, mais il ne l'atteint jamais dans les points d'arrêt. cela pourrait signifier que je me suis cassé quelque chose en essayant de le faire fonctionner.

OriginalL'auteur Andy | 2011-05-04