Wireshark mailing list archives
Re: Unix compiling errors
From: Guy Harris <guy () alum mit edu>
Date: Tue, 1 Dec 2015 11:27:45 -0800
On Dec 1, 2015, at 7:25 AM, POZUELO Gloria (BCS/PSD) <gloria.pozuelo () bics com> 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)>p_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 >p_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 <wireshark-dev () wireshark org> Archives: https://www.wireshark.org/lists/wireshark-dev Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev mailto:wireshark-dev-request () wireshark org?subject=unsubscribe
Current thread:
- Unix compiling errors POZUELO Gloria (BCS/PSD) (Dec 01)
- Re: Unix compiling errors Evan Huus (Dec 01)
- Re: Unix compiling errors Guy Harris (Dec 01)