On Dec 1, 2015, at 7:25 AM, POZUELO Gloria (BCS/PSD) <[email protected]> 
wrote:

> I’d like to ask you, how could I fix this error, since I’m working on a 
> Windows environment and this error only appears by compiling for Unix.

It's probably a compiler issue, not an OS issue; if you were using GCC on 
Windows, with the -Werror=c++-compat flag, you'd get the same warning, and if 
you were using a vendor C compiler (Oracle Studio, HP aCC, IBM XL C, etc.), you 
might not get that warning.

> error: request for implicit conversion from ‘void *’ to ‘void **’ not 
> permitted in C++ [-Werror=c++-compat]
> 
>      while (!found && g_hash_table_iter_next(&iter, (gpointer)&gtp_info, 
> (gpointer)&f)) {

Yes, as Evan noted, you need a "pointer to a pointer" (gpointer *) as the 
second and third arguments.

> Looking at the Glib reference we can see that g_hash_table_iter_next needs 2 
> gpointer parameters, but it seems to me that this is the cause of the error…. 
> gtp_info is a struct and f is a guint32*.

gtp_info would have to be a *pointer* to a struct, so that &gtp_info would be a 
pointer to a pointer, and you'd cast it to "gpointer *" rather than to 
"gpointer".  g_hash_table_iter_next() would set that pointer to point to the 
key of the next entry it finds in the hash table.

I don't know what the values are in your hash table, guint32 or pointer to 
guint32, and the way you'd fix that one would depend on the type.
___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <[email protected]>
Archives:    https://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
             mailto:[email protected]?subject=unsubscribe

Reply via email to