したがって、私は.hファイルでコンビナトリアルライブラリを作成しようとしています。私は数nの階乗を計算し、階乗関数を使ってnの組み合わせを計算し、与えられたnとkに対してkを選ぶ関数(同じファイル内)を計算する関数を持っています。しかし、私がコードをコンパイルしようとすると、このエラーが私にスローされます。C2048関数 'long factorial(int)'にはすでにボディがあります。異なる関数で同じファイル内の関数を呼び出すときのC2084エラー
(私はVS 2015を使用しています)ここでは、コードがあります:
long int factorial(int n) // factorial of n
{
int summation = n;
for (int i = 1; i < n; i++)
{
summation *= i;
}
return summation;
}
double combination(int n, int k) // n choose k
{
return (factorial(n)/(factorial(k) * factorial(n - k)));
}
double permutation(int n, int k) // n permutation k
{
if (k != n)
return (factorial(n)/factorial(n - k));
else
return factorial(n);
}
double repetitiveCombination(int n, int k) // repetitive combination of n choose k
{
return combination(n - 1 + k, k);
}
double orderEquals(int n, int p) // order n objects of wich p are equal
{
return (factorial(n)/factorial(p));
}
は再現できませんでした。まだ[mcve]を作成しようとしましたか? – user2079303
*おそらく*これを引き起こしているものがいくつかあります。しかし、私たちに推測させないでください。それは質問をする生産的な方法ではありません。どのようにこのコードを使用していますか?ヘッダファイルかコードファイルか?あなたはそれを#含まれていますか?もしそうなら、どうやってどこで?他の男が言ったように、問題を再現するための最小限の例が良いスタートになるでしょう。 –