2016-09-08 9 views
1

digamma function of boostがプログラムの中でどのように使用できるのか分かりません。いずれの例でも、感謝しています。私はブーストでのdigamma関数の使い方

#include <boost/math/special_functions/digamma.hpp> 

を後押し含まれているが、xがdoubleある関数呼び出しdigamma(x)は、次のエラーを与える:ここで

error: there are no arguments to ‘digamma’ that depend on a template parameter, so a declaration of ‘digamma’ must be available [-fpermissive]

+1

あなたは何を理解していませんか?値を入力して文書化された結果を得るだけで、それよりも簡単にはなりません。 –

+0

具体的には、機能が何らかの理由で機能しない場合は、[mcve]を提示して、間違っていることや正しく理解していないことを確認してください。 –

+0

さんがこの質問を編集しました。 – user3639557

答えて

1

は例です: http://cpp.sh/7bdu

#include <boost/math/special_functions/digamma.hpp> 
#include <iostream> 
int main() { 
    std::cout << boost::math::digamma(3.14) << "\n"; 
} 

編集:質問はエラーメッセージで編集されました。エラーメッセージは、boost::math::という名前空間ビットを含めなかったため、コンパイラがdigammaの定義を見つけられなかったことを意味します。

+0

ああ、そうです。 'boost :: math :: digamma()'の短いエイリアスを定義する方法はありますか? – user3639557

+0

はい、[using directives](http://en.cppreference.com/w/cpp/language/namespace#Using-directives)、[宣言を使用する](http://en.cppreference.com)/w/cpp/language/namespace#使用 - 宣言)。 –

関連する問題