ある出版社サイトからDLした例題に次のようなコードがありまして
#include <iostream>
#include <fstream>
using namespace std;
int main( void )
{
char *file = "stl324.cpp"; // Error
fstream s( file, ios::in );
if ( s.fail() ) {
略・・・・
Errorが出た。g++ は8.1.0 である。
warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
おおお、今 気づいた。Errorではなく警告でした(笑)
動いたし。Warningだったらいいや・・・・・
で、上のは const char *file = とすると警告は出なくなる。
理由は・・・・いいや、char file[] = てせも警告でない。
なんで囲みが出た? キーボードのどっかとどっかを叩いたらこんなんが出たのだが、戻す方法がわからんので放置!! で、上の例題だが、c++なんだから string使えよって言いたいわけであったの。