我對我應該爲MurmurHash3_x86_128()提供的參數感到困惑。 murmurhash3代碼可以找到https://github.com/aappleby/smhasher/blob/master/src/MurmurHash3.cpp。方法定義如下。C++我們應該在MurmurHash3參數中傳遞什麼?
void MurmurHash3_x86_128 (const void * key, const int len,
uint32_t seed, void * out)
我在上面的方法中傳遞了下面的值,但是我的編譯器給了我分段錯誤。我究竟做錯了什麼 ?
int main()
{
uint64_t seed = 1;
uint64_t *hash_otpt;
const char *key = "hi";
MurmurHash3_x64_128(key, (uint64_t)strlen(key), seed, hash_otpt);
cout << "hashed" << hash_otpt << endl;
return 0;
}
至少你應該爲'hash_otpt'分配內存。目前,您正在將無效指針傳遞給函數 – mvidelgauz