#include "SelectionSort.h"
using namespace std;
int main() {
SelectionSort<int> sorterInt;
int test_array[20];
sorterInt.stuffNum(&test_array, 20, 1, 200);
}
using namespace std;
template <typename T>
class SelectionSort {
public:
void stuffNum(T *object, int size, int min, int max)
{
for(int i = 0; i < size; i++)
{
(*object)[i] = 5;
}
}
答案 0 :(得分:2)
SelectionSort<int> sorterInt;
int test_array[20];
sorterInt.stuffNum(&test_array, 20, 1, 200);
您的模板的类型为int,因此您的方法采用int *作为参数。 并且您编写&amp; test_array ,其类型为 int * [20] ,因为您发送了数组的地址。
所以只需删除&amp;
即可sorterInt.stuffNum(test_array, 20, 1, 200);
你需要更好地理解指针。
编辑:(阅读评论)
(*object)[i] = 5;
这里你应该像这样删除*和()
object[i] = 5;
此处更多文档What is array decaying?