HAL*_*000 2 c++ pointers vector
我需要从定义为的向量中插入和检索元素
std::vector<void **(void*)> array;
Run Code Online (Sandbox Code Playgroud)
我想要push_back的元素定义为:
void *element(void *)
Run Code Online (Sandbox Code Playgroud)
最后,鉴于void* data
我想以下列方式使用该元素:
array[i](data);
Run Code Online (Sandbox Code Playgroud)
不幸的是我找不到调用array.push_back的正确方法.
有人可以帮我弄这个吗?
这是函数返回的向量void**
,这是不可能的.函数不是对象,不能将它们存储在向量中.
(函数类型作为模板类型参数是合法的,并且一些模板类型使用这些,例如std::function
,一些类型特征...但是std::vector
要求其参数是对象类型)
尝试
std::vector<void* (*)(void*)>
Run Code Online (Sandbox Code Playgroud)
创建函数指针的向量.
那你就需要了
array.push_back(&element);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
324 次 |
最近记录: |