コンパイルエラー

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
オラクル

コンパイルエラー

#1

投稿記事 by オラクル » 12年前

VC++2010とDXライブラリでゲームを作っているのですが
ファイル読み込みのクラスでコンパイルエラーがでました

コード:


// FileHandling.h

#ifndef FE_FILEHANDLING_H
#define FE_FILEHANDLING_H

#include <stdio.h>
#include "common.h"

/********************************************************************************
*Class FileHandling

*ファイルを取り扱う

*メソッドはファイルのパスと読み込み結果を格納するものを引数としてもらい
*ファイルの読み込みと格納を行う

*********************************************************************************/
class FileHandling{

	public:
		// ファイルの読み込み
		void File_read( const char *FileName, VECTOR *Array[]  );

}

#endif // FE_FILEHANDLING_H

// FileHandling.cpp

#include "FileHandling.h"

void FileHandling::File_read( const char *FileName, VECTOR *Array[] ){
	
	FILE* fp;
	float x,y,z;
	int i = 0;
	fp = fopen(FileName, "r");
	if( fp == NULL ){
		MessageBox( NULL, "ファイル読み込み失敗", "DXライブラリ" , MB_OK );
	}
	while( fscanf(fp, "%f %f %f", x, y, z) != EOF ){
		Array[i]->x = x;
		Array[i]->y = y;
		Array[i]->z = z;
		i++;
	}

	fclose(fp);

}
error C2628: 'FileHandling' の後に 'void' を続けて記述できません(セミコロン ';' で区切ってあるか確認してください)。
error C2556: 'FileHandling FileHandling::File_read(const char *,DxLib::VECTOR *[])' : オーバーロード関数は、'void FileHandling::File_read(const char *,DxLib::VECTOR *[])' と戻り値の型のみが異なります。
'FileHandling::File_read' の宣言を確認してください。
error C2371: 'FileHandling::File_read' : 再定義されています。異なる基本型です。
'FileHandling::File_read' の宣言を確認してください。

オーバーロードした記憶はありませんがとりあえずソリューション全体で”File_read”で検索をかけましたが
上記のヘッダファイルとCPPファイル以外かかりませんでした
インクルードガードもちゃんとかけているつもりなんですが……

原因がわかる方がいましたら教えて頂けると助かります
ただの誤字、脱字が原因だったらすいません

アバター
h2so5
副管理人
記事: 2212
登録日時: 13年前
住所: 東京
連絡を取る:

Re: コンパイルエラー

#2

投稿記事 by h2so5 » 12年前

クラス定義の後にセミコロンがありません。

nil
記事: 428
登録日時: 12年前

Re: コンパイルエラー

#3

投稿記事 by nil » 12年前

すでに指摘がございましたが、クラス定義では、
class A{~~~};とセミコロンを打たねばなりません

オラクル

Re: コンパイルエラー

#4

投稿記事 by オラクル » 12年前

クラスの書き方がちゃんと頭に入っていませんね、すいません

ご指摘どうりセミコロンをつけて上記のエラーは消えたのですがまた何か出力されました
エラーというよりは警告のようです

This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.


この関数や変数は、安全でないかもしれません。代わりにfopen_sの使用を検討してください。廃止を無効にするには、_CRT_SECURE_NO_WARNINGSを使用しています。詳細についてはオンラインヘルプを参照してください。

これはどうすればよいでしょうか?

nil
記事: 428
登録日時: 12年前

Re: コンパイルエラー

#5

投稿記事 by nil » 12年前

マイクロソフトがその関数は古くて危ないからうちのを使えと言っているんですね
別段無視をしても特に問題はないです

鬱陶しいなら
#pragma warning(disable: 警告の番号 )
で消えますよ

オラクル

Re: コンパイルエラー

#6

投稿記事 by オラクル » 12年前

わかりました
答えてくださりありがとうございます

閉鎖

“C言語何でも質問掲示板” へ戻る