C:\Program Files\Microsoft Visual Studio\MyProjects\hello\hello.cpp(73) : error C2562: 'main' : 関数は 'void' 型として宣言されていますが、値を返しました。
C:\Program Files\Microsoft Visual Studio\MyProjects\hello\hello.cpp(6) : 'main' の宣言を確認してください。
cl.exe の実行エラー

hello.exe - エラー 1、警告 0

**************************
C++で、コンパイルしたら、上記のエラーメッセージが表示されました。
考えられるエラーは何でしょうか?
どのように直したらよいでしょうか?
どうかお教えください。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

補足に対する回答ですが、その通りです。


voidというのは「無い」ということを示します。
つまり、この場合返却値がないということになっているわけです。
それなのに0を返している…、おかしいですよね?
ですから、この場合intとすれば良いわけです。
voidにして返却値を返さない手もありますが、現在の流儀としてはmainはintで定義するものなので。
    • good
    • 0
この回答へのお礼

2度に亘るご返答有り難うございました。
voidとは、無いという意味であったのですね。
知りませんでした。
voidにしてreturn (0);しない方法もあるのですね。
現在の流儀も知りえました。
ご親切に感謝致します。

お礼日時:2002/02/08 23:58

メッセージ通りだと思います。


main関数の宣言がvoid型で行われているのにreturnで値を返しているのではないでしょうか。
例えば0を返しているのならば、main関数をint型で定義すれば良いと思います。

この回答への補足

void main()
{
…(中略)
return (0);
}

上記であると誤りなのですか?

int main(void)
{
…(中略)
return (0);
}

であると、正しいのでしょうか?

補足日時:2002/02/08 22:32
    • good
    • 0

失礼ですが、


どのようなプログラムなのでしょうか?
エラー指定がされている行、またはそれを含む関数部分だけでも
いいので載せて頂ければ、回答ができるかと思います。
    • good
    • 0
この回答へのお礼

早速のご返答有り難うございました。
超初心者ですので、自分のプログラムを見せるというのは恥ずかしいです。(^^;

お礼日時:2002/02/08 23:54

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qあまのじゃくってどういう意味ですか?

あまのじゃくってどういう意味ですか?

Aベストアンサー

かっこつけたり、恥ずかしがったりして、自分の感情や思いをうまく表現できないこと。天邪鬼。

参考URL:http://ja.wikipedia.org/wiki/%E3%81%82%E3%81%BE%E3%81%AE%E3%81%98%E3%82%83%E3%81%8F

Qc:\Winodows\Sendotoとc:\Windows\デスクトップについて

設定によってはシステムをc:\Winodowsからc:\winにできるから
c:\Winodows\Sendotoとc:\Windows\デスクトップを
c:\win\Sendotoとc:\win\デスクトップにできます

同じように"Sendoto"と"デスクトップ"を例えば"Send"と"desktop"のように他の名前にできるのでしょうか?
できたとするとどのように命名されているかはどこを見れば良いのでしょうか?

Sendotoのファイル等はデスクトップ上の右クリックメニューの送るに表示され
デスクトップのファイル等は起動後に真っ先に現れる画面に表示されますね

よろしくお願いします

Aベストアンサー

SHGetSpecialFolderLocationを使ってください。

参考URL:http://www.okweb.ne.jp/kotaeru.php3?q=235894

Qどういう意味だと思いますか?

彼とLINEしていると
「返事がおくれてごめん、あまのじゃくなもので・・・」と
返事がありました。

たわいもないことをLINEでやりとりしているのですが

あまのじゃくになるというのは・・・
回答に困って返事が遅れるという意味でしょうか?

Aベストアンサー

返事が早かったり遅かったり、気まぐれだということじゃないですか?

遅れてごめんと謝ってくるところが全くあまのじゃくだとは思いませんけどね。

QProgram Files(x86) と Program Files の切替

諸事情により、Windows Vista 64bitとXP 32bit上で32bitアプリケーションを開発しています。
開発環境はVisualStudio2005(これも諸事情…)でC++ + MFCです。

Program Files以下のDLL(32bit)をヘッダファイルでimportしているのですが、
32bit OSの人は"Program Files"からで
64bit OSの人は"Program Files(x86)"からと
1つのソースコード中で#defineなどで自動的に切り替える方法はあるでしょうか?
※ヘッダファイルでimportの方針も諸事情で変更できません。

現在、自分の環境に合わせてコメントアウトでごまかしていますが、
ソースコードをVSSで管理しているので、うっかり最新版に更新して
ビルドすると、エラーがぞろぞろ出て要らぬ工数がかかっています。

よろしくお願いいたします。

Aベストアンサー

「環境変数をマクロに取り込む」と言う手があります。

プロジェクトのコンパイラ指令に「マクロを定義するスイッチ」がある筈です。

そこに、環境変数を展開するように記述すれば、うまく行くでしょう。

例えば、マクロ定義スイッチが
-D マクロ名=定義内容
なのであれば
-D PROGRAM_FILES_X86=%PROGRAMFILESX86%
と指示しておいて、環境変数PROGRAMFILESX86に「0」か「1」をセットしておきます。

あとは、ヘッダファイルで
#ifdef PROGRAM_FILES_X86
#if PROGRAM_FILES_X86 == 1
#import <c:/Program Files(x86)/hogehoge.dll>
#else
#import <c:/Program Files/hogehoge.dll>
#endif
#else
#import <c:/Program Files/hogehoge.dll>
#endif
と書いておく。

これで、環境変数PROGRAMFILESX86に「1」と定義しておけば
Program Files(x86)
が使われるし、環境変数PROGRAMFILESX86に「1以外」を定義しておくか、コンパイラ指令にマクロ定義をしていないなら
Program Files
が使われる。

「環境変数をマクロに取り込む」と言う手があります。

プロジェクトのコンパイラ指令に「マクロを定義するスイッチ」がある筈です。

そこに、環境変数を展開するように記述すれば、うまく行くでしょう。

例えば、マクロ定義スイッチが
-D マクロ名=定義内容
なのであれば
-D PROGRAM_FILES_X86=%PROGRAMFILESX86%
と指示しておいて、環境変数PROGRAMFILESX86に「0」か「1」をセットしておきます。

あとは、ヘッダファイルで
#ifdef PROGRAM_FILES_X86
#if PROGRAM_FILES_X86 == 1
#import <c:/...続きを読む

Q「あまのじゃく」に相当する英語は?

和英辞書を引いてみますと、色々な英語が出て来ます。
perverse or cussed person; contrarian とか。
それらの英語を逆引きすると、「つむじ曲がりの」とか「意固地な」とかの日本語になって、本来の日本語の意味の「あまのじゃく」に相当しません。

皆がこう言ったらいつも反対あるいは、別のことを言いたがる人。あるいは、何かが評判になったりして、多数の人がそこに殺到する時、その風潮に絶対に乗ろうとしない人。

私が捉えている「あまのじゃく」ですが、こんな性格の人は英米圏には殆んどいないから、それに相当する英語がないと言うことでしょうか?
もし、近い英語があれば教えて下さい。

宜しくお願いします。

Aベストアンサー

 yes-man, yes-sayer(はいはいと言うことを聞く人)の対義語、no-man, no-sayer(違う違うとごねる人)が近いだろうと思います。

QVisual C++ Toolkitでcppをコンパイルすると・・

最近質問が多くてすみません。
一応調べてみましたが、同じような質問が既存ならば警告お願いします。

#include <iostream>
int main(){
return 0;
}

これだけのファイルを、例えばtest.cppとして保存します。そして
cl test.cpp
とすると、ぶわーっと警告(warning)がでて、しかしtest.exeができあがります。
警告内容がかなり長いので、そのうちの1つを載せます。
C:\Program Files\Microsoft Visual C++ Toolkit 2003\include\stdexcept(39) : see reference to class template instantiat
ion 'std::basic_string<_Elem,_Traits,_Ax>' being compiled
with
[
_Elem=char,
_Traits=std::char_traits<char>,
_Ax=std::allocator<char>
]

意味がわかりません!!
ちなみに、bccでは警告なしにコンパイルできます。

最近質問が多くてすみません。
一応調べてみましたが、同じような質問が既存ならば警告お願いします。

#include <iostream>
int main(){
return 0;
}

これだけのファイルを、例えばtest.cppとして保存します。そして
cl test.cpp
とすると、ぶわーっと警告(warning)がでて、しかしtest.exeができあがります。
警告内容がかなり長いので、そのうちの1つを載せます。
C:\Program Files\Microsoft Visual C++ Toolkit 2003\include\stdexcept(39) : see reference to class template instantiat
ion '...続きを読む

Aベストアンサー

-GX を指定して下さい。と書かれていませんか?

cl -GX test.cpp

Qあまのじゃくな男性

中学生男子に
あまのじゃくな人は結構いますか?

あと中学生男子は
普通に女子の肩に触れたりは
するもんですか?

回答お願いします(*´∇`*)

Aベストアンサー

中学生はあまのじゃくが多い年代でしょう。

女の子に対し興味が無いようなふりをしたり、悪態をついたり。

肩に触れるのはある程度親しいしるしだと思います。

QVisual Studio 2008で新規プロジェクトでのCppファイ

Visual Studio 2008で新規プロジェクトでのCppファイルが見当たりません!
こんにちは。
Visual Studio 2008 Proffetionalを入れいます。
で問題なのですが、新規プロジェクトで立ち上げた際に
「新規作成」→「プロジェクト」→「Win32」→「Win32コンソールアプリケーション」
を選びアプリケーションの設定で
(コンソールアプリケーション)、(空のプロジェクト)にチェックを入れOKを押しました。
ソールファイルに「追加」→「新しい項目」と押していくとC++ファイルの項目があるはずなのに見当たりません。(写真参照)
どうしたらいいのでしょうか?ご回答よろしくお願いします。

PCスペック
OS windows 7
Visual Studio Proffetional Edition
visual Studio .net Fream work 3.5 SP1
VS2008を起動させたのは今回が初めてです
インストール中エラーが起こることはありませんでした。

Aベストアンサー

症状を検索したら、似たような事例がありました。
http://www.play21.jp/board/formz.cgi?action=res&resno=55886&id=dixq&lognum=172&from=tree

こちらのNo:55988さんが書かれた回答が参考になるかもしれません。
※ハードディスクの掃除とかされました?

ちなみに私の環境で
C:\Program Files\Microsoft Visual Studio 9.0\VC\vcprojectitems

hfile.h
newc++file.cpp
を削除した所、「ヘッダーファイル」「C++ファイル」の項目が表示されなくなりました。

確かめた環境はWindowsXP、VS2008 Express Editionです。
Windows7だと格納場所が異なる可能性があります。

Qあまのじゃく・・・

なんとなく、あまのじゃくな性格です。
この性格ってどうしてこうなるの?
解決する方法とかありますか?

Aベストアンサー

同じくあまのじゃくです(笑)
#1さんのおっしゃること、確かに当たってるような気が・・・。
私は最近は、思わず言い返してしまっても
後で家に帰ってから反省をするようにしています(笑)
あまり役に立つか分かりませんが
参考程度に読んでおいていただけるとありがたいです。

Qvisual studio .NET→ Visual C++ 2005 Express Edition(pshpack2.h)

visual studio .NETで問題なくコンパイルできたプログラムを
他のマシンのVisual C++ 2005 Express Editionで
コンパイルするとビルドエラー
fatal error C1083: include ファイルを開けません。'pshpack2.h': No such file or directory
のメッセージです。
解決法を教えてください。

Aベストアンサー

>他のマシンのVisual C++ 2005 Express Editionで
コンパイルするとビルドエラー
fatal error C1083: include ファイルを開けません。'pshpack2.h': No such file or directory
Win32 API(PSDK)の設定されてますか?
2005 Express は、
下記リンクならびに
教えてgoo
No.2149779 #4さんの回答にあるように
PlatformSDKなど設定する必要があります。

2005 Express は無料ですので
いろいろ省略しているようです。

参考URL:http://lets-go.hp.infoseek.co.jp/c_setting09.html


人気Q&Aランキング

おすすめ情報