質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
Visual C++

Microsoft Visual C++はWindowsのCとC++の統合開発環境(IDE)であり、コンパイラやデバッガを含んでいます。

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

Q&A

解決済

1回答

876閲覧

部品化した関数の呼び出しができない

yasu2711

総合スコア7

Visual C++

Microsoft Visual C++はWindowsのCとC++の統合開発環境(IDE)であり、コンパイラやデバッガを含んでいます。

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

0グッド

0クリップ

投稿2020/05/10 02:07

前提・実現したいこと

5分ごとに起動するmainのプログラムの中で、1分ごとに5つのプログラムを起動しようとしております。
1分ごとに起動するプログラムを、関数として部品化しました。

発生している問題・エラーメッセージ

エラーは出ておりませんで、mainのプログラムはデバッグして終了します。 (DebugはF11を連続で押すという形で行っております。) 1分ごとの関数の呼び出しが出来ずにプログラムが終わってしまいます。 引数はdouble calgaikion, double unitkionの2個です。 戻り値はありません。 Visual Studio 2019にて構築していますが、mainをひとつのcppファイル、 関数を別のcppファイルで作っております。

該当のソースコード

//時刻を取得して毎5分でのプログラムStart #include <iostream> #include <chrono> #include <ctime> #include <thread> using namespace std; int main() { double calgaikion = 25; double unitkion = 26; //0分目のモード void minute0(double calgaikion, double unitkion); //1分目のモード void minute1(double calgaikion, double unitkion); //2分目のモード void minute2(double calgaikion, double unitkion); //3分目のモード void minute3(double calgaikion, double unitkion); //4分目のモード void minute4(double calgaikion, double unitkion); } //別のcppファイル 0分目のモード #include <iostream> #include <chrono> #include <ctime> #include <thread> using namespace std; void minute0(double calgaikion, double unitkion) { int level; //extraweak:0,weak:1,midium:2,heavy:3 //0分目のモード if (calgaikion < 0) { int operate(int level = 0); } else if (calgaikion >= 0 && calgaikion < 5) { int operate(int level = 3); } else if (calgaikion >= 5 && calgaikion < 15) { int operate(int level = 3); } else if (calgaikion >= 15 && calgaikion < unitkion) { int operate(int level = 3); } else if (calgaikion >= unitkion && calgaikion < 31) { int operate(int level = 3); } else if (calgaikion >= 31) { int operate(int level = 3); } }

試したこと

同じcppファイル内に記述してみましたが結果は同じでした。
おわかりの方がいらっしゃいましたらお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

1分ごとの関数の呼び出し

とはコードのどこの部分の話でしょうか。
提示のコードには見当たりませんが。
また、使用している関数のプロトタイプ宣言はどこで行ってるんでしょうか


void minute0(double calgaikion, double unitkion);

これではプロトタイプ宣言とみなされて実行されません
実行させるなら
minute0( calgaikion, unitkion);
と書きましょう。
また、プロトタイプ宣言も書いとく必要があります

#他も同様に

投稿2020/05/10 02:27

編集2020/05/10 03:05
y_waiwai

総合スコア87747

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yasu2711

2020/05/10 02:43

y_waiwai様 早速の回答ありがとうございます。いつもお世話になります。 まず呼び出すのが、関数minute0(double calgaikion, double unitkion)で、 mainの中で、void minute0(double calgaikion, double unitkion); とコードで記述しております。 この記述が間違いでしょうか? 「プロトタイプ宣言」を検索しまして、includeの次に記述してDebugしましたが、結果は同じでした。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問