C++ 为什么是C++;模板函数不支持返回指针?
我有这样一个函数:C++ 为什么是C++;模板函数不支持返回指针?,c++,templates,pointers,C++,Templates,Pointers,我有这样一个函数: #include <iostream> using namespace std; // function to generate and retrun random numbers. template<typename T> T * getRandom( ) { static T r[10]; for (int i = 0; i < 10; ++i) { r[i] = 111; cout <&
#include <iostream>
using namespace std;
// function to generate and retrun random numbers.
template<typename T>
T * getRandom( ) {
static T r[10];
for (int i = 0; i < 10; ++i) {
r[i] = 111;
cout << r[i] << endl;
}
return r;
}
// main function to call above defined function.
int main () {
// a pointer to an int.
int *p;
p = getRandom();
for ( int i = 0; i < 10; i++ ) {
cout << "*(p + " << i << ") : ";
cout << *(p + i) << endl;
}
return 0;
}
#包括
使用名称空间std;
//函数生成并重新运行随机数。
模板
T*getRandom(){
静态tr[10];
对于(int i=0;i<10;++i){
r[i]=111;
cout模板参数不能来自返回类型,只能来自函数参数
p = getRandom<int>();
// ~~~~~
p=getRandom();
// ~~~~~
您需要提供类型参数,因为错误表明它无法从您提供的参数中推断出来。p=getRandom();
auto*p=getRandom();
p = getRandom<int>();
// ~~~~~