への入力として渡された私はは、charのサイズを取得*配列は、C++の関数
char* LowerList[10];
LowerList[0]="abc";
LowerList[1]="def";
LowerList[2]="hij";
(Cラッパーで利用可能)C++関数にCのテストドライバーからの入力として、文字ポインタの配列を渡すしようとしています私は、配列のサイズを取得する必要がある要素は
char* LowerList[0]="abc";
LowerList[1]="def";
LowerList[2]="hij";
LowerList[3]=ƒì¶S<\$ UV<35?Ä@
LowerList[34]=ƒ<bad pointer>
として表示されているために表示される値は、私は しばらく(LowerList [回数を使用して持っている可能性がC++サイズに渡すときに利用できるC++側])が、ジャンク値のためにそうすることができません。 私はchar * LowerList []の正しいサイズを初期化、メモリ割り当て、またはベクトルへの変換によって見つけることができれば教えてください。
は、ここではタイプミス、エラーのために
を上記のコードを修正し、これまで私に与えられた提案のいくつかの私のコメントである:
1)制限をよくとしてパラメータとして配列のサイズを渡します私のシナリオでは.2)ベクトルへの変換は、使用可能なサイズが必要です。3)追加する必要がある位置のSentinel値。前に述べたように、私はユーザーが失敗につながる3として値を渡すシナリオを処理しようとしています。CユーザーのC++ラッパーをCテストドライバーで制限することについては何も制御していません。
あなたの答えをありがとう。私はこの初期設定で正しいサイズを持っています。 – Abhilash
もう1つのポイントはありますか?私のCのテストドライバで、lowerList [10]を初期化できる方法はありますか?C++ラッパーにアクセスするCラッパーのコードとして10を指定しないでサイズが小さければアクセス違反エラーです例2これは、Cテストドライバのコンパイルが2のサイズであっても成功し、実行中に失敗するため、私のCテストドライバを簡単にすることです。 – Abhilash
@Abhilash:最新の回答をご覧ください。 – JAB