C++でcwchar内でエラーが起きます

このQ&Aのポイント
  • C++を勉強しているなら、cwchar内でエラーが起きることはよくあります。しかし、具体的な原因を見つけるのは難しい場合があります。
  • もし、以下のコードに問題がある場合は、エラーが起きる可能性があります。 #include <iostream> using namespace std; int main(){ cout << "HelloWorld." << endl; return 0; }
  • 改善方法としては、次のステップを試してみることをおすすめします。 1. インクルードファイルのチェック:使用しているヘッダーファイルが正しくインクルードされているか確認しましょう。 2. 名前空間の確認:名前空間を正しく指定しているか確認しましょう。 3. コンパイラのバージョン:コンパイラのバージョンが古い場合、新しいバージョンにアップグレードすることで問題が解決する場合があります。
回答を見る
  • ベストアンサー

cwchar内でエラーが起きます。

C++を勉強しているのですが、コンパイルをすると、 識別子が必要です cwchar C2059 構文エラー: '::' cwchar C2589 'unsigned': スコープ解決演算子 (::) の右側にあるトークンは使えません。 cwchar と、cwchar.h内でエラーが起きてしまいます。コードを絞っていって、最終的に以下のコードでもエラーが起きていました。 #include <iostream> using namespace std; int main(){     cout << "HelloWorld." << endl;     return 0; } なぜでしょうか?改善方法を教えていただけると嬉しいです。 環境はVisualStudioCommunity2015 windows10 です。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

# 回答ではありません Visual Studio 2015 のヘッダには cwchar.h なんてありませんよ?

Mokutsuno
質問者

お礼

回答ありがとうございます

Mokutsuno
質問者

補足

変ですね...もう一度よく確認してみます。

関連するQ&A

  • プログラミング言語Cとプログラミング言語C++

    プログラミング言語Cとプログラミング言語C++の違いって何ですか? あと、プログラミング言語C++についていくつか質問があります。 #include <iostream> using namespace std; void main(){ cout << "Hello world!" << endl; } このプログラムについて質問なんですが、iostreamってプログラミング言語Cで言うstdio.hのことですか? using namespace stdって何ですか? あと、 cout <<"Hello world!"って何ですか?

  • TextWranglerについて

    私はプログラミングを学ぼうとしていて C++をMacでTexrWranglerをつかって勉強しようとしたのですが 設定がよくわからず、 #include <iostream> using namespace std; int main() { cout << "hello" << endl; } というようにうち「RUN」をクリックするとエラー(error code 13304) がでてうまく実行ができません。 どのように設定をすればよいのでしょうか。

  • stringについて

    C++初心者です。 このプログラムで続行するとエラーがでます。どうしたら無事実行することが出来るのでしょうか? #include<stdio.h> #include <iostream> using namespace std; int main(void) { string str("エラー"); cout << str<< endl; } エラー 1>c:\documents and settings\****\デスクトップ\zisyu12\zisyu12\main.cpp(58) : error C2679: 二項演算子 '<<' : 型 'std::string' の右オペランドを扱う演算子が見つかりません (または変換できません)。 . . . 以下省略

  • C++のiostreamのインクルードが不可能です

    C++のiostreamのインクルードが不可能です。 とても初歩的な話でお恥ずかしいのですが、 Visual Studio 2012 Express for Windows DesktopにてC++の入門をしようとしている者です。 入門書の通り、iostreamをインクルードしてnamespaceをstdにして int main() { cout << "Hello, World!" << endl; return 0; } このようなHello,World!コードを作ったのですが、エラーが発生し、 ・ソースファイルを開けません "iostream" ・識別子 "cout", "endl" が定義されていません と表示され、デバッグエラーとなります。 プロジェクトの作り手順としては C++の空のプロジェクトからcppファイルをソースファイルに追加する手順です。 どなたか解決方法をご教授ください。

  • C++について。

    現在”猫でもわかるプログラミング”のC++編をSDKと共に勉強している身です。 現在第22章、第23章を勉強中です。 22章 http://www.kumei.ne.jp/c_lang/cpp/cpp_22.htm 23章 http://www.kumei.ne.jp/c_lang/cpp/cpp_23.htm 作業環境はVisual Studio 2005.net C++です 22章でのプログラムを作成し、実行した結果エラーが出てしまいました。 ソースです #include <iostream> class xy_position { int x; int y; public: xy_position(int x = 0, int y = 0){ xy_position::x = x; xy_position::y = y; } int X() const {return x;} int Y() const {return y;} }; ostream& operator << (ostream& o, const xy_position& p) { return o << "(" << p.X() << "," << p.Y() << ")"; } int main(void) { xy_position a(50, 60), b; std::cout << a << b << std::endl; return 0; } (17):error C2143: 構文エラー : ';' が '&' の前にありません。 (17):error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません (17):error C2065: 'o' : 定義されていない識別子です。 (17):error C2059: 構文エラー : 'const' (18):error C2143: 構文エラー : ';' が '{' の前にありません。 (18):error C2447: '{' : 対応する関数ヘッダーがありません (旧形式の仮引数リスト?) (26):error C2679: 二項演算子 '<<' : 型 'xy_position' の右オペランドを扱う演算子が見つかりません (または変換できません)。 このようなエラーが出てしまいました。 もちろんソースは全て同様に書いています。 この”猫でも”で使用しているコンパイラと異なるために出たエラーでしょうか? それに単に cout << のように記述するとエラーが出てしまい、 std::cout << のように記述しなければ通りません。 また、エラーとは別の質問になってしまいますが、プログラム中に int X() const {return x;} という記述がありますが、このconstの意味が分かりません。 単純に return x が変更不可能という意味でしょうか? 次に23章についての質問です。 ここでもソースは同じなのに以下のようなエラーが出てしまいます。 ソースです。 #include <iostream> int main(void) { int x=10, y=15, z=20; std::cout << "16進表示" << std::endl; std::cout.setf(ios::hex); std::cout << x << std::endl; std::cout << y << std::endl; std::cout << z << std::endl; std::cout.unsetf(iostream::hex); std::cout << "8進数" << std::endl; std::cout.setf(ios::oct); std::cout << x << std::endl; std::cout << y << std::endl; std::cout << z << std::endl; return 0; } (8):error C2653: 'ios' : 識別子がクラス名でも名前空間名でもありません。 (8):error C2065: 'hex' : 定義されていない識別子です。 (13):error C2653: 'iostream' : 識別子がクラス名でも名前空間名でもありません。 (15):error C2653: 'ios' : 識別子がクラス名でも名前空間名でもありません。 (15):error C2065: 'oct' : 定義されていない識別子です。 これも何か設定をしなければいけないのでしょうか? なにぶんC++は・・・というかオブジェクト指向の言語は初心者なもので疑問も多いですorz

  • C++のソースに関する質問

    以下のコードをコンパイラのテスト目的でコンパイルしました //test.cpp #include <iostream> using namespace std; void main() { cout << "test" << endl; } 使っているコンパイラはBCC Developerと言うソフトです 上に書いているコードは間違っては居ないと思うのですが エラー E2266: ファイル名が指定されていない と言うエラーが出てきます、何処のファイルをどうやって 指定するのかを教えてください

  • 初心者です。エラーが分かりません。

    エラーが二つ出てしまいます。 自分ではよく分からなく、図々しく質問しました。 誰か助けてください。 #include<iostream> using namespace std; double fan(double,double angle=360.0); /* angleはデフォルト360 */ double fan(double r, double angle){ return 3.1415926*r*r*angle/360.0; /* 面積を返す */ } int main(void){ double r,angle; cout << "半径を入力してください。 : "; cin >> r; cout << "角度を入力してください。 : "; cin >> angle; cout << "半径 : " << r << " 角度 : " << angle << endl; cout << "面積 : " << fan(r,angle) << endl << endl; cout << "半径 : " << r << " の円なら" << endl; cout << "面積 : " << fan(r) << endl; return 0; }

  • 間接参照演算子(*)による値設定で、「セグメンテーション違反です」となる件について

     以下のコードは、GNU C++でコンパイル出来るのですが、実行時に 「セグメンテーション違反です」 と怒られてしまいます。  何ででしょうか? ============== #include <iostream> using namespace std; int main() { int i = 1; int* ip = 0; // ip = &i; // ←この行のコメントを外すと直ります *ip = 0; cout << "i: " << ip << endl; return 0; }

  • listをvectorにコピーするときに

    例えば #include<iostream> #include<vector> #include<list> using namespace std; void main(void) { unsigned pos; list<unsigned> lu; list<unsigned>::iterator p; vector<unsigned> vu; for(lu.clear(),pos=0;pos<9;lu.push_back(pos++)); for(p=lu.begin();p!=lu.end();cout<<*p++); cout<<endl; vu=vector(lu); //error for(pos=0;pos<vu.size();cout<<vu[pos++]); cout<<endl; } とするとエラーになるため//errorのかわりに vu.clear(); vu.insert(vu.begin(),lu.begin(),lu.end()); としていますが少し不細工です 他に方法はあるのでしょうか?

  • 2つのcppファイルから

    1つのexeファイルを作る必要性が出てきました。 (現在質問中の質問に関連しています。) 例えば file.cpp: #include<iostream> using namespace std; void Output(int x) { cout<<x<<endl; } void main(void) { for(int i=0;i<9;Output(i++)); } をコンパイルリンクすれば済むことを file1.cpp: #include<iostream> using namespace std; void Output(int x) { cout<<x<<endl; } file2.cpp: void main(void) { for(int i=0;i<9;Output(i++)); } という風に分かれているファイルをコンパイルリンクしなければならないのです。 cpp -e file.exe -c file1.cpp -c file2.cpp ではエラーになります。 どうすれば良いのでしょうか?

専門家に質問してみよう