お世話になります。
Visual Studio 6.0でビルド可能だったものがVisual C++ 2008 Express EditionでエラーC2664を出してしまい解決法を模索しております。
同様のトラブルを調べてみましたが、例えば「文字セット」を「マルチ バイト文字セットを使用する」にしても改善されませんでした。
void time_sobi(int sobi_time){
long time1,time2 ;
time(&time1);
time2=time1;
while(labs(time1-time2)<sobi_time){
time(&time1);
}
}
上述の部分で:
s\jun\デスクトップ\hight\hight.cpp(112) : error C2664: 'time' : 1 番目の引数を 'long *' から 'time_t *' に変換できません。(新しい機能 ; ヘルプを参照)
1> 指示された型は関連がありません。変換には reinterpret_cast、C スタイル キャストまたは関数スタイルのキャストが必要です。
1>c:\documents and settings\jun\デスクトップ\hight\hight.cpp(115) : error C2664: 'time' : 1 番目の引数を 'long *' から 'time_t *' に変換できません。(新しい機能 ; ヘルプを参照)
1> 指示された型は関連がありません。変換には reinterpret_cast、C スタイル キャストまたは関数スタイルのキャストが必要です。
とメッセージが出て、該当する部分はそれぞれ3,6行目のtime(&time1);です。
ご教示くださる方いらっしゃいましたら宜しくお願い致します。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
そもそも、何をするプログラムなん??
何をもって、動かないと判断してるの??
エラーダイアログが出るの??
実行タイミングがおかしいの??
GUIアプリなの?コマンドラインアプリなの??
んーなもん、
「パソコンの電源入れたけど、動かない」って言われたのと同じ状況。
「6.0の時と同様の動作をしない」
で?6.0の時はどういう具合に動作をしていたのでしょうか。
かなり大雑把な質問なので、もう少し的を絞りましょう。
コンパイルが終わったなら、プロジェクトディレクトリの
debugという名前のフォルダに実行ファイル(.exeファイル)ができていると思います。
それを直接実行してみたら、どうでしょうか。
No.2
- 回答日時:
「ちゃんと動かない」って言われても, 「あなたがどのような動作を期待したのか」「実際にどのような動作になったのか」がわからないと判
断できない.この回答への補足
大変失礼致しました。
「あなたがどのような動作を期待したのか」-->exeファイルが作成され、実行可能となることを期待
「実際にどのような動作になったのか」-->Visual Studio 6.0の時はビルド(F7)した後、実行(Ctrl + F5)で作成された実行ファイル(.exe)が起動していたが、2008 Express Editionではデバッグの開始が相当しているらしく、デバッグ開始を行うとexeファイルが起動するが6.0の時と同様の動作をしない
判断できますでしょうか。宜しくお願い致します。
No.1
- 回答日時:
VC++2005からtime_tの既定は64ビットです
_abs64を使って64ビットで処理するか、_time32を使って32ビットで処理してください
参考URL:http://msdn.microsoft.com/ja-jp/library/1f4c8f33 …
この回答への補足
すみません、補足です。
StdAfx.h内で#include <time.h>の宣言がありました。
失礼しました。
コンパイルはうまく行ったのですが、exeファイルの実行がちゃんとなされない状況です。
Visual Studio 6.0の時はビルド(F7)した後、実行(Ctrl + F5)で作成された実行ファイル(.exe)が起動していたのですが、2008 Express Editionでは起動はするのですが、ちゃんと動きません。
これでは情報不足かも知れませんが、何かアドバイス・コメントあれば宜しくお願いします。
dumm様;
さっそくのご回答ありがとうございます。以下のように_time32に書き換えたらビルドできました。
void time_sobi(int sobi_time){
long time1,time2 ;
_time32(&time1);
time2=time1;
while(labs(time1-time2)<sobi_time){
_time32(&time1);
}
}
自分は普段Cを使っていないのでよくわからず申し訳ございませんが、time_tを使う場合
#include <time.h>
の宣言が必要なのではないでしょうか?このcppファイルには
#include "StdAfx.h"
#include <Windows.h>
#include "Decl-32.h"
の宣言のみです。試しに#include <time.h>の有無で比較してみましたが、関係なくビルドできるようです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel2007での条件付き書式について 6 2023/05/02 10:56
- 英語 文法あっていますか? be likely to ○○ 16 2022/09/11 11:06
- 英語 「this is the/my first time~」の文法上の制約について 1 2023/04/06 09:48
- Visual Basic(VBA) エクセルマクロでアニメを作る方法を教えてください。 1 2023/02/07 14:27
- その他(ソフトウェア) OMRON PLC CP2Eのプログラム 1 2022/11/24 10:57
- 英語 Think back to the last time you gave a little pres 3 2023/01/29 23:50
- 英語 提示した名言の文の構造について(waste one hour of time) 5 2023/05/20 15:22
- その他(プログラミング・Web制作) このプログラミングをどう組みますか? Googlecolabでやってるんですが、出来る方お願いします 1 2022/07/13 10:52
- Windows 10 Visual StudioとVisual C++ Build Toolsについて 1 2023/04/16 03:42
- 英語 「名詞+形容詞/現在分詞/過去分詞+to不定詞の副詞的用法」の語順について 7 2022/09/22 05:27
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
javaで質問です。 文字列2023/2...
-
ダブルクォーテーションのrepla...
-
int型のゼロ埋め
-
javascriptで文字列のsjis利用...
-
Path型をString型へ変換する(Java)
-
C言語32bitから64bitの移行につ...
-
カタカナをローマジに変換する。
-
javaの初歩的な質問です。
-
Visual Studio 6.0でビルド可能...
-
replace関数で複数の文字の変換...
-
javaでのOracleのデータ登録の...
-
javaの文字コード変換について
-
byte配列をImageに変換する
-
文字リテラルについて
-
TEXTAREAからのデータを改行入...
-
byte[] を long,float とかに...
-
JIS8の半角かな文字をUnicodeの...
-
カタカナ変換
-
タイピングゲーム作成中 複数...
-
数字を読みに変換する方法について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
javaで質問です。 文字列2023/2...
-
ダブルクォーテーションのrepla...
-
Path型をString型へ変換する(Java)
-
カタカナをローマジに変換する。
-
javascriptで文字列のsjis利用...
-
int型のゼロ埋め
-
Visual Basic でのコードをASCI...
-
文字列の比較
-
COBOLで半角カナを全角カナに変換
-
JavaのStringクラスに「外字」...
-
C言語32bitから64bitの移行につ...
-
byte[] を long,float とかに...
-
UTF-8とUnicodeの互換性
-
[Javascript]エンターキー押下...
-
エクセルVBAで「〜」が表現でき...
-
Windows-31Jからutf-8への変換...
-
substring バイト単位でやりたい
-
IBM漢字コード⇒SJIS変換方法
-
byte配列をImageに変換する
-
Arduino(C言語) String "1101" ...
おすすめ情報