const char*' から 'char*' への変換が無効です。
2022-02-07 12:30:02
const char* は定数へのポインタであり、定数そのものへのポインタではないので、初期化しないことも可能です。
ポインターは定数でも変数でも指しますが、ただしポインターから見ると定数を指します。
ポインターは、それが指すデータを変更するために使用することはできません。
<スパン 1. const char* は char* に直接代入できないのでコンパイルが通らない、理由:できる場合。
そうすると、char*を通して指しているconst charの中身を変更することができますが、これは許されません。
ポインターは定数でも変数でも指しますが、ただしポインターから見ると定数を指します。
ポインターは、それが指すデータを変更するために使用することはできません。
<スパン 1. const char* は char* に直接代入できないのでコンパイルが通らない、理由:できる場合。
そうすると、char*を通して指しているconst charの中身を変更することができますが、これは許されません。
そのため、char*は別の新しいスペースを開く必要があります。
string str = "dasfas"。
char* p = (char*)str.c_str();
<スパン
実はこれ、3Fのものと同じ効果なんです。
また、非constポインタに変換されたconstポインタもあります。目的はポインタが指す値を変更することではなく、多くの場合、参照を渡すための便宜のためです。これは最後の手段としてのみ使用されます。
または、strcpy メソッドを使用します。
関連
-
C++ - 文字列クラス超詳細紹介
-
C++ 文字列における c_str(), data(), copy(p,n) 関数の使用法
-
C++ max() 関数エラー: 'max' の呼び出しに一致する関数がない
-
エラー: "***"の前にイニシャライザーがあります。
-
致命的なエラー LNK1169: 1つ以上の多重定義されたシンボルが見つかりました 解決策
-
c++のエラー: エラーC2601: 'main' : ローカル関数定義が不正
-
C++ Error no matching function for call to 'std::basic_ofstream<char>::basic_ofstream(std::string&)
-
C/C++ におけるランダム関数 rand() および srand() の使用法
-
C++テンプレートテンプレート使用法まとめ
-
デバッグエラー Assertion Failed 問題について
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
c++ プログラミング プロンプトの関数定義はここでは許可されません。
-
の 0x091f11c7 での未処理例外について。0xC0000005: アクセス違反の読み取り位置 0x0ab0f
-
解決策:エラー:'cout'は型名ではありません。
-
C++のostreamの詳細な使用方法
-
C++ JSON ライブラリ jsoncpp 新 API の使用法 (CharReaderBuilder / StreamWriterBuilder)
-
コンパイルエラー: 制御が非ボイド関数の末尾に達する可能性がある
-
非静的メンバ関数の無効な使用
-
警告: この関数では 'p' が初期化されていない状態で使用されることがあります。
-
EclipseのC++コードでシンボル'std'が解決できない問題の解決
-
ベクトル添え字が範囲外のコンテナの使用、その他類似のエラー