From: plano9 [mailto:[EMAIL PROTECTED]
>I'm unfamilar with GMP's snytaxes, so I need some help fixing these
>two errors.
>Both errors are "error C2107: illegal index, indirection not allowed"
>on lines 17 and 26
>
>The source code for the program is:
>
>//This program is a primitive implementation of a factoring sieve
Presumably, since you didn't indicate which line was which, this was
line 1
>
>#include <iostream.h>
.h files in C++ are depreciated. Don't use them unless you really must.
>#include "gmp.h"
>
>int main()
>{
> mpz_t n, N, k, var, hold, array;
> short prime=1;
> mpz_set_ui(n, 100);
> mpz_set_ui(k, 2);
> mpz_sqrt(N, n);
> mpz_array_init (array, 10000, 1);
> while (k <= N)
> {
> mpz_cdiv_r(hold, n, k);
> if (array[k] == 0 && hold == 0)
Making this line 17
> {
> mpz_cdiv_q (hold, n, k);
> cout << k << " * " << hold << "; ";
> prime=0;
> mpz_set (var, k);
> while (var < N)
> {
> mpz_add(var, var, k);
> mpz_set_ui(array[var], 1);
And this 27.
You declare on line 8:
mpz_t n, N, k, var, hold, array;
While you may be calling it an array, is it really one?
>From what I can tell from the few pages I googled, mpz_t is a type that
is substitutable for an integer. Making your line similar to :
int n, N, k, var, hold, array;
You cannot use the variable delcared as 'array' here as an actual array.
You need something similar to either:
mpz_t n, N, k, var, hold, array[10];
or
mpz_t n, N, k, var, hold;
mpz_t* array;
array = new mpz_t[10];
--
PJH
"Consistently separating words by spaces became a general custom about
the tenth century A.D., and lasted until about 1957, when FORTRAN
abandoned the practice." -- Sun FORTRAN Reference Manual
Alderley plc, Arnolds Field Estate, The Downs, Wickwar, Gloucestershire, GL12
8JD, UK
Tel: +44(0)1454 294556 Fax: +44 (0)1454 299272
Website : www.alderley.com Sales : [EMAIL PROTECTED] Service : [EMAIL
PROTECTED]
This email and its contents are confidential and are solely for the use of the
intended recipient. If you are not the original recipient you have received it
in error and any use, dissemination, forwarding, printing or copying of this
email is strictly prohibited. Should you receive this email in error please
immediately notify [EMAIL PROTECTED]
This email has been scanned for viruses, however you should always scan emails
with your own systems prior to opening.
------------------------ Yahoo! Groups Sponsor --------------------~-->
$4.98 domain names from Yahoo!. Register anything.
http://us.click.yahoo.com/Q7_YsB/neXJAA/yQLSAA/EbFolB/TM
--------------------------------------------------------------------~->
>-----------------------------------------~-~>
CHECK THE ARCHIVE BEFORE POSTING!!!! Archive is available at
http://www.eScribe.com/software/C-Paradise/
>------------------------------------------_->
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/C-Paradise/
<*> To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/