我得到在C以下錯誤++程序:可變大小的數組類型「INT [大小]」是不是一個有效模板參數
可變大小的數組類型「INT [大小]」是不是一個有效模板 參數
用於以下項目:
#include <iostream>
using namespace std;
template <typename T>
void func (T& Array)
{
cout << "Hi";
}
int main()
{
int size = 100;
int arr [100];
int arr1 [size];
func (arr); // compiled
func (arr1); // gives error
}
請幫我解決這個問題。我想從一些變量中獲取數組的大小。 在此先感謝。
C++不分配空間實際上有[可變長度數組](https://en.wikipedia.org/wiki/Variable-length_array),儘管一些編譯器將它添加爲語言的擴展。 –
你在模板函數'func(T&Array)'中對你的'Array'做了什麼?你什麼也不做。要解決您的問題,您可以使用動態分配,但模板不是解決方案。 –
至於你的問題,請記住,模板是純編譯時功能。可變長度數組在運行時創建。 –