PowerShellの関数呼び出しについて
- PowerShellでの関数呼び出しでエラーとなります。エラーを出さないようにする方法はないのでしょうか?
- VBScriptで行っているバッチ処理をPowerShellに移行している初心者です。答えが得られずの質問になります。
- お時間がある時で構いませんので、ご回答をお願い致します。
- ベストアンサー
PowerShellの関数呼び出しについて
PowerShellでの関数呼び出しでエラーとなります。 (定義より前にコールしているので当たり前なのですが) ********** (大まかな処理内容です) ********** call main() main() { 処理 } ******************************************************** 【質問1】 ・エラーを出さないようにする方法はないのでしょうか? (例えばC言語のプロトタイプ宣言のような) <補足> 現在VBScriptで行っているバッチ処理をPowerShellに移行している初心者です。 色々検索はしましたが、答えが得られずの質問になります。 お時間がある時で構いませんので、ご回答をお願い致します。
- 1380649874335
- お礼率70% (68/96)
- その他(プログラミング・開発)
- 回答数1
- ありがとう数3
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
PowerShellにプロトタイプ宣言のようなものはないみたいですね。 #単純に上から順番に解釈・実行されていく 関数定義の部分は別のファイルに分離して、includeするようなことはできるみたいなので、 見通しよくする目的でしたら以下のような感じになりそうです。 -- . "./main.ps1" main --
関連するQ&A
- Borland C++ Compiler 5.5でland関数がコンパイルできません
初歩的な質問ですみません。C言語のプログラミングの質問です。 タイトルどおり、Borland C++ Compiler 5.5でland関数がコンパイルできません。OSはWindows XPで、「c言語を始めよう!」を使ってプログラムを作っています。 今まで学校でunixを使っていたので、その時は何の設定もせずに使えたので普通に使ったのですが、”プロトタイプ宣言のない関数 'rand' の呼び出し”や”プロトタイプ宣言のない関数 'srand' の呼び出し”というエラーが出ます。 timeを使うために#include <time.h>が必要だったり、そのようなunixでは不必要だった下準備が必要なのでしょうか?
- ベストアンサー
- C・C++・C#
- main関数を先頭に置くデメリット
C言語で、main関数を先頭に置き、他の関数はプロトタイプ宣言だけ済ませて mainの後に置くという書き方に何かデメリットはあるのでしょうか。 何かの書籍で、「mainは先頭に置く方が何かと良い」と書いてあったので気になっています。
- ベストアンサー
- C・C++・C#
- 関数のプロトタイプ宣言の文法は次のようになります。
関数のプロトタイプ宣言の文法は、次のようになります。 型 関数名(引数); 関数定義から処理部分を取り除き、ひとつのステートメントとして完結するように、文末に; を付けてたものになります。 基本的に関数を呼び出すための形式を宣言するためのものですから、型、関数名、引数は 関数定義と同じになります。プロトタイプ宣言は、対象となる関数を呼び出す前に行う必要があります。 以上は参考書の説明ですが!「関数定義から”処理部分”を取り除き」とあります。 その中の”処理部分”とは何を指すのでしょうか!? 宜しくお願いします。
- ベストアンサー
- C・C++・C#
- 関数のプロトタイプ宣言
#include <stdio.h> #define N 3 #define M 4 int sum(int [][M]); (関数のプロトタイプ宣言) int main(){ ・ ・ ・ return(0); } int sum(int x[][M]){ ・ ・ } 以上のプログラムより、関数のプロトタイプ宣言や、関数内の 行列の定義でint sum(int [][M]);や int sum(x[][M]){}となっていますが なぜ、列にMだけを代入することだけでよいのでしょうか? また、教科書に関数のプロトタイプ宣言ではint sum(int [][]);だけでもよいと書かれていたのですが 実際、コンパイルしてみたところ 'int[]' 型のサイズは未知あるいはゼロとエラーがでました。 これは、コンパイラによってできるものとできないものがあるのでしょうか?? よろしくお願いします。
- 締切済み
- C・C++・C#
- C言語で分割ファイル先の関数を呼び出す時
いつもお世話になっております. C言語の関数の呼び出しについて質問があります. main文と同じファイルにある関数は,main文より上に記述している場合は プロトタイプ宣言で呼び出すことが出来ますが,ファイルを関数ごとに分割した場合はどうしたら良いのでしょうか? 例えば main_file.c と function_file.c という2つのファイルがあり, それぞれ main と function という関数を持っているとします. main文からfunction関数を呼び出したい場合, 私はいつも main_file.c 内で include "function_file.c" としていますが, これが一般的な方法なのでしょうか? 問題点や改善点を挙げて頂けると助かります. よろしくお願い致します.
- ベストアンサー
- C・C++・C#
- borlandでコンパイルすると、「プロトタイプ宣言のない関数 'exit' の呼び出し」という警告が出てきます。
borlandでコンパイルすると、「プロトタイプ宣言のない関数 'exit' の呼び出し」という警告が出てきます。 一応ソースの文頭には、 #include<stdio.h> を入れているのですが、この警告を出なくするのにはどの様にしたらいいのでしょうか?
- ベストアンサー
- C・C++・C#
- プロトタイプ宣言について
C言語で関数を作成しプロトタイプ宣言するときの質問です。 関数実体の引数に構造体のポインタを宣言します。 プロトタイプ宣言には,構造体のポインタを宣言したのと同じ位置にvoid *を宣言します。 関数実体とプロトタイプ宣言は,異なるファイルです。 このように作成した関数は,VC++2008では,コンパイルできるのですが, なぜ関数実体の宣言とプロトタイプ宣言の型が異なるのにコンパイルできるのでしょうか? また,この関数を別ファイルの関数から呼び出した場合,正しく引数を理解し,正しく処理されます。 これは,言語仕様として正しい書き方なのでしょうか? それとも環境依存の書き方なのでしょうか? ご存知の方がいましたらお答えお待ちしています。
- ベストアンサー
- C・C++・C#
- 関数呼び出しについて質問です
関数呼び出しについて質問です 私は今以下の様なプログラムを作成し実行しました #include <stdio.h> int i = 1; void infinity(void) { printf("%010d\n",i++); infinity(); } void main() { infinity(); } 関数を無限に呼び出すプログラムです 私が使っているパソコンでは4721回関数呼び出しができました そこで質問なのですが 1関数呼び出しは有限回であることがわかったが他のパソコンと比べるとどのくらいの差になるのか? 2関数呼び出し回数の上限は何によって(OS、ソフト)決められているのか? この2つお願いします
- ベストアンサー
- C・C++・C#
お礼
ご回答ありがとうございました。 ご提示の方法も試してみたいと思います。