
No.5ベストアンサー
- 回答日時:
#1です
> char型の場合は
> void CalA(int x,int y,char *z='')
それでOKです。
ただ、#4の方のおっしゃるように、コンパイルエラーが出ないため、設計がかなりしっかりしていないと危険ではあります。
危険ですが、実際にシステム開発のときに用いられる手法ですので、問題はないと思います。
ただ、ここでの不具合が報告されないため、実装後、該当関数関連の試験は重点的に行ったほうがよいですね。
No.3
- 回答日時:
お使いになるのがC++でしたら先の回答者の方々の方法でOKです。
しかし、ただのCでしたら、簡単には実装できません。
この場合は、printf()などと同じような実装方式になります。
va_arg、va_end、va_start マクロ群を利用します。
int average( int first, ... )
{
va_list marker;
int a[10];
a[0] = first;
va_start( marker, first );
a[1] = va_arg( marker, int);
a[2] = va_arg( marker, int);
a[3] = va_arg( marker, int);
va_end( marker ); /* 可変個の引数のリセット */
}
という感じです。
回答ありがとうございます。
このような方法もあるのですね。
No1の方の方法が求めているものでした。
かといってこちらの方法も知っておいて損はありませんでした。
知識が増えました。ありがとうございました。

No.2
- 回答日時:
可能です。
オーバーロードを使用します。
ここを参考にしてください。
http://www.mars.dti.ne.jp/~torao/program/cpp/ove …
参考URL:http://www.mars.dti.ne.jp/~torao/program/cpp/ove …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAでfunctionを利用しようとしたときに「引数は省略できません」というエラーが出ます 1 2022/10/15 16:30
- C言語・C++・C# プログラム内から、MIDIファイルの一部分だけを再生する方法 1 2023/02/15 11:08
- C言語・C++・C# C言語 共用体について コマンドライン引数で値を2つ入力したときに、argv[2]の値をUNI u1 4 2022/04/25 20:34
- 英語 英語で「1年半」と言いたい時、「a year and a half/one and a half y 2 2023/07/28 00:52
- 英語 関係副詞の 先行詞の 省略について質問です 調べたところ、省略可能な先行詞は whereに対して「t 1 2022/12/08 19:31
- 観光地・ランドマーク K-ETA申請費用について 2 2022/09/27 14:27
- C言語・C++・C# 関数ポインタの高速化のメリット 7 2023/05/05 20:15
- 英語 関係副詞または先行詞の省略、について ①限定的用法では関係副詞は常に省略できる。ただし、非限定的用法 1 2022/12/09 19:55
- C言語・C++・C# C言語のファイル入力が分かりません 2 2022/05/22 06:35
- 高校 √2 やi=√-1につきまして 5 2022/05/06 20:57
このQ&Aを見た人はこんなQ&Aも見ています
-
関数から配列を返すには?
C言語・C++・C#
-
<unistd.h>をVisualStudioでつかえるようにする
C言語・C++・C#
-
C言語で、メモリを解放しないで終わるプログラム
C言語・C++・C#
-
-
4
C++ 構造体の一括初期化 {0}
C言語・C++・C#
-
5
C言語のポインタに直接アドレスを割り振りしたい
C言語・C++・C#
-
6
C言語初心者の質問失礼します。
C言語・C++・C#
-
7
char*を初期化したいのですが
C言語・C++・C#
-
8
fopenで別ディレクトリにファイルをオープンしたい
C言語・C++・C#
-
9
C言語におけるif文の評価順
C言語・C++・C#
-
10
C言語 配列の長さの上限
C言語・C++・C#
-
11
C言語でヘッダファイルにグローバル変数を宣言する
C言語・C++・C#
-
12
配列の要素数に変数を入れたいときには
C言語・C++・C#
-
13
ファイルやディレクトリの存在確認を行う方法
C言語・C++・C#
-
14
INT64対応のprintf系関数はありますか?
C言語・C++・C#
-
15
構造体のextern方法
C言語・C++・C#
-
16
define で 配列
C言語・C++・C#
-
17
エクセルのデータグループ化の際に貼り付けた図だけ一緒に折りたたんでくれません!
Windows Vista・XP
-
18
ファイル書込みで一行もしくは部分的に上書きする
PHP
-
19
バッファとは何ですか
C言語・C++・C#
-
20
C言語 exitの使い方
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「指定されたキャストは有効で...
-
PowerShellがうまくいかない
-
警告 W8065について。
-
DirectX ~テクスチャに値を書...
-
【C++】関数ポインタの使い方
-
C言語 エラーの原因がわからな...
-
プログラミング(C言語)につい...
-
C言語での引数の省略方法
-
int型の変数値をバイト列として...
-
「{ } で囲むだけ」は正しい?
-
このプログラミング誰か教えて...
-
(マルチスレッド)_beginthrea...
-
複数桁10進数の*桁目だけを抽出...
-
#define _CRT_SECURE_NO_WARNIN...
-
CStringの配列要素を関数で受け...
-
C言語のファイル入力が分かりま...
-
CASLのプログラムをC言語に変える
-
C言語で分からないところがあり...
-
足して100になるような乱数のア...
-
aとbどちらが早いでしょうか。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「指定されたキャストは有効で...
-
C言語での引数の省略方法
-
複数桁10進数の*桁目だけを抽出...
-
C言語 エラーの原因がわからな...
-
#define _CRT_SECURE_NO_WARNIN...
-
ラップ関数とはどんなものですか?
-
【C++】関数ポインタの使い方
-
実数の整数部,小数部の取得
-
int型の変数値をバイト列として...
-
std::set<int> で、ある値が何...
-
PowerShellがうまくいかない
-
(int *)の意味
-
CStringの配列要素を関数で受け...
-
ColorをRGBで指定する方法
-
「{ } で囲むだけ」は正しい?
-
acceptをalarmでタイムアウトさ...
-
if と配列の組み合わせ
-
read関数をノンブロッキングで...
-
(マルチスレッド)_beginthrea...
-
int16_t の _t は何?
おすすめ情報