[英]C++ - pointer to array of template struct
我想要一個指向模板結構數組的const指針。 我收到了一個錯誤,我對C ++不太熟悉,所以我不確定從哪里開始。 有人可以解釋一下如何正確地做到這一點以及我做錯了什么? 提前致謝。
結構:
template <typename T> struct FrequencyEntry {
unsigned short freq;
T result;
};
碼:
FrequencyEntry<std::string> arr[] = {
{5, std::string("test")},
{10, std::string("asdf")},
};
FrequencyEntry<std::string> * const arr_pointer = &arr;
最后一行發生錯誤:
error C2440: 'initializing' : cannot convert from 'FrequencyEntry<T> (*)[2]' to 'FrequencyEntry<T> *const '
數組衰減為指針,因此您不需要預先掛起地址運算符&
:
FrequencyEntry<std::string> * const arr_pointer = arr;
請注意,這是一個const
指針,這意味着您無法修改指針本身,但您可以通過指針修改它指向的對象。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.