char **
適切な内部オブジェクトを解析して構築するために、引数としてaを受け取るメソッドがあります。
void build (const char* values[], const int amount=3)
{
//..parse values and create instance of an inner field..
}
これらの値を使用したいだけで、変更する必要がないため、一定です。これはかなりうまく機能します。
const char **
ここで、以前に宣言されたメソッドでこの戻り値を使用できるように、自分に戻るメソッドをコーディングできるようにしたいと思います。最初は、クラスのインスタンスから必要な値を取得し、それらを文字列に変換して配列に入れて返しましたが、ローカル変数へのポインターを返していると不平を言っていました。そこで、このポインタを保持するために別のフィールドを使用することを考え、を作成しましchar ** values
た。それから、それが指す値にメモリを割り当てる必要があることに気づいたので、私はそれを使いました。現在、私が説明しているメソッドは次のようになります。
const char** getValues()
{
string var;
var = toString(point.zone);
values[0]= new char[var.length()+1]();
strcpy(values[0], var.c_str());
var = toString(point.easting);
values[1]= new char[var.length()+1]();
strcpy(values[1],var.c_str());
var = toString(point.northing);
values[2]= new char[var.length()+1]();
strcpy(values[2],var.c_str());
return values;
}
しかし、現時点でchar ** values
は、一定ではないため、これは文句を言うでしょう。しかし、私がそれを一定にするstrcpy
と、反対のことについて不平を言うでしょう。定数を返さない場合は、他の関数で使用できません。この問題を解決するのに助けが必要です。どんな助けでも深く感謝します、ありがとう。