DEVELOP > c-Plus-Plus > ./cs512/c++/cppdef/dsa.cpp:175: error: no matching function for callto
| Topic: |
DEVELOP > c-Plus-Plus |
| User: |
"" |
| Date: |
16 Jan 2008 07:36:26 AM |
| Object: |
./cs512/c++/cppdef/dsa.cpp:175: error: no matching function for callto |
Hi I have the following error.
../cs512/c++/cppdef/dsa.cpp:175: error: no matching function for call
to 'str_to_numlist(std::back_insert_iterator<std::vector<BigInteger,
std::allocator<BigInteger> > >, const std::basic_string<char,
std::char_traits<char>, std::allocator<char> >&, const BigInteger&)'
Here is the codes
/****************************************************
* w = (s') ^ -1 mod q *
* u1 = [H(M')w] mod q *
* u2 = (r')w mod q *
* v = [g^u1*y^u2)mod p] mod q *
****************************************************/
template <class ContainerType>
bool encryptcpw::dsa<ContainerType>::verifying(
typename ContainerType::const_reference y,
typename ContainerType::const_reference rp,
typename ContainerType::const_reference sp,
const std::string& Mp)
{
typedef typename ContainerType::value_type T;
const T digits(std::numeric_limits<T>::digits);
ContainerType myHashTbl;
encryptcpw::str_to_numlist(std::back_inserter(myHashTbl), Mp,
digits); // error here.
T HM(encryptcpw::MyHash(myHashTbl.begin(), myHashTbl.end(),
digits));
const T w(algocpw::improve_pow(sp, -1)%q);
const T u1((HM*w)%q);
const T u2(rp*w % q);
const T v(
((algocpw::improve_pow(g, u1) * algocpw::improve_pow(y, u2) )
% p ) % q);
return v == rp;
}
// inside StringConversion.hpp
namespace encryptcpw
{
/**************************************************************
* name: str_to_numlist *
* purpose: converts a string into sequence of list *
* @param s the string to convert. *
* @param bound the bound of elements with bound >= 256. *
* @return a list of integer *
***************************************************************/
template <typename OutputIterator>
OutputIterator str_to_numlist(OutputIterator OutIt, const
std::string& s, typename OutputIterator::value_type bound);
}
// inside StringConversiondef.hpp
template <typename OutputIterator>
OutputIterator encryptcpw::str_to_numlist(OutputIterator OutIt, const
std::string& s, typename OutputIterator::value_type bound)
{
//...
}
What is wrong?
.
|
|
| User: "Victor Bazarov" |
|
| Title: Re: ./cs512/c++/cppdef/dsa.cpp:175: error: no matching function for call to |
16 Jan 2008 08:23:38 AM |
|
|
wrote:
Hi I have the following error.
./cs512/c++/cppdef/dsa.cpp:175: error: no matching function for call
to 'str_to_numlist(std::back_insert_iterator<std::vector<BigInteger,
std::allocator<BigInteger> > >, const std::basic_string<char,
std::char_traits<char>, std::allocator<char> >&, const BigInteger&)'
Are you sure that the 'value_type' type of 'back_insert_iterator'
is the same as 'BigInteger'?
[..]
// inside StringConversiondef.hpp
template <typename OutputIterator>
OutputIterator encryptcpw::str_to_numlist(OutputIterator OutIt, const
std::string& s, typename OutputIterator::value_type bound)
{
//...
}
What is wrong?
Not sure. Can you distill it to a simple sample without all the
namespaces and BigIntegers?
V
--
Please remove capital 'A's when replying by e-mail
I do not respond to top-posted replies, please don't ask
.
|
|
|
|

|
Related Articles |
|
|