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));
}
Tôi vừa gặp phải định nghĩa hàm này trên GitHub.Toán tử phân giải phạm vi đang được sử dụng hai lần
Tôi giả định rằng "Cam kết" thứ hai và thứ ba tham chiếu đến tên lớp và hàm tạo, nhưng tôi không thể hiểu ý nghĩa của tên đầu tiên. Tôi chắc chắn rằng nó không đề cập đến không gian tên vì tên đó khác nhau. Tôi đã thấy toán tử độ phân giải phạm vi được sử dụng hai lần trong các ví dụ, nhưng những tham chiếu đến các vùng tên lồng nhau.
Thậm chí lớp B {B(); }; B :: B :: B :: B() {} biên dịch với gcc và clang nhưng MSVC có vấn đề. Hấp dẫn. Có thể tiêm loại. –