私は世論調査用のプログラムを書いており、クラス「Partito」を使用しています。
#pragma once
ref class Partito
{
protected:
//System::String ^nome;
int IndexP; //Index Partito
float MaxConsenso;
float consensoTot;
int consenso;
//workaround according to Hans Passant:
// char Risposta[5];
array<int> ^Risposte;// Risposte means anwers.
//workaround end
System::Drawing::Color colore;
public:
Partito(
int _IndexP,
float _consensoTot, int consenso
array<int> ^_Risposte // workaround
); //costruttore
void CalcCons(int consenso);
float GetConsensoTot(void);
};
};
定義は次のとおりです。
#include "StdAfx.h"
#include "Partito.h"
//Partito::Partito(void)
Partito::Partito(
int _IndexP,
float _consensoTot,
int consenso
//workaround start
array<int> ^_Risposte //workaround
//workaround end
)
{
//char Risposta[5];
//workaround start
Risposte=gcnew array<int>(5); //workaround
Risposte=_Risposte; //workaround
//workaround end.
IndexP =_IndexP;
consensoTot = _consensoTot;
MaxConsenso = 12;
}
void Partito::CalcCons(int consenso)
{
consensoTot+=(consenso*100)/MaxConsenso;
}
float Partito::GetConsensoTot(void)
{
return consensoTot;
}
現在、回避策により、コンパイラは問題なくそれを受け入れます。ファイル「Form1h」で、問題なく配列を初期化できるようになりました。
Form1(void)
{
InitializeComponent();
//
//TODO: aggiungere qui il codice del costruttore.
//
このように配列を初期化して、オブジェクトを定義します。
Partito^ ExampleParty = gcnew Partito(0,0,0,gcnew array<int>{0,1,2,2,0});
.
.
.
}