namespace libzerocoin {
//Commitment class
Commitment::Commitment::Commitment(const IntegerGroupParams* p,
const Bignum& value): params(p), contents(value) {
this->randomness = Bignum::randBignum(params->groupOrder);
this->commitmentValue = (params->g.pow_mod(this->contents, params->modulus).mul_mod(
params->h.pow_mod(this->randomness, params->modulus), params->modulus));
}
ちょうどGitHubにこの関数の定義があります。スコープ解決演算子が2回使用されています
「コミットメント」の2番目と3番目がクラス名とコンストラクタを参照していると仮定しますが、最初のものの意味を理解できません。名前が異なるので、名前空間を参照していないと確信しています。私はスコープ解決演算子が例で2回使われているのを見ましたが、それらはネストした名前空間を参照しています。 C++クラスで
偶数クラスB {B(); }; B :: B :: B(){}はgccとclangでコンパイルしますが、MSVCには問題があります。面白い。たぶん注入型。 –