gpt4 book ai didi

C++ 将模板类传递给 void 函数

转载 作者:行者123 更新时间:2023-11-28 05:49:45 25 4
gpt4 key购买 nike

我想创建一个类调用 Array 并将对象 arr 和 arr1 传递给一个名为“fun”的函数。但是我的编译器告诉我,它期望在“&”标记之前使用主表达式。我错过了什么?

.h文件

#ifndef ARRAY_H_INCLUDED
#define ARRAY_H_INCLUDED

template <typename T, int SIZE>
class Array
{
T values[SIZE];
};

template <typename T, int SIZE>
void fun (const Array<T, SIZE>& a,const Array<T, SIZE>& a1,int index)
{
}

#endif // ARRAY_H_INCLUDED


template <typename T, int SIZE>
void fun (const StaticArray<T, SIZE>& a,const StaticArray<T, SIZE>& a1,int index)
{
}

.CPP

#include <iostream>
using namespace std;

#include "Array.h"

template <typename T, int SIZE>
void fun (const Array<T, SIZE>&,const Array<T, SIZE>&,int);

int main()
{
int i=-1;
Array<double, 5> arr;
Array<bool, 5> arr1;
fun(Array<double, 5>& arr,Array<double, 5>& arr1,i); //error expected primary-expression before '&' token
}

最佳答案

fun(Array<double, 5>& arr,Array<double, 5>& arr1,i);

应该是

fun(arr,arr1,i);

你的错误是你传递的数组不正确。

关于C++ 将模板类传递给 void 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35518397/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com