C++でCスタイルの文字列を扱う際に問題があります。要するに、私がやろうとしているのは、メインメソッドのCStringを自分のオブジェクトのコンストラクタに渡すことです。 mainメソッドに続いC++引数としてCスタイルの文字列を渡す
class sample
{
public: // Initalization
Sample(const char * inFile);
}//End sample class
例えば
。私は第2のポインタデリファレンスargv[1]
を使用した場合
//Main method
int main (int argc, const char * argv[])
{
Sample aSample(argv[1]);
}
さて、私の仮定に基づいて、私はconst char*
を取り戻すべきです。私の理解から、char *argv[]
は、**argv
という文字の別の方法です。
また、const char *
は "このポインタはconst charを指しています"と言っています。const char const *
は "このポインタアドレスは変更できません。ポインタが指すアドレスはconstです同じように"。
更新 -
これを明確にすることは、2つの部分の質問です。
- サンプルのコンストラクタがcstringを渡すのに間違っている場合、どうすれば修正できますか?その上で、私の間違った文を更新しました
のconstの
2アップデート - Iは、コマンドラインおよびargvから情報を受信していたので、私は、[1]のargvを使用している[0]私は興味がない実行可能ファイルのパスのみを保持
。何か助けていただければ幸いです。
-Freddy
エラーが表示されますか? –
はい、コールしようとしているコンストラクタのシンボルが定義されていないというエラーが表示されます。 「シンプル:: Simpleは(char型のconst *)、から参照:unit.o に _Main 私はCONSTの私の理解について尋ねた理由厥は正しかった、私は私の議論のインタフェースが間違っていたかもしれ思っ – Freddy
。あなたがそれを宣言しましたが、定義されていませんでした。 –