0
我想這樣的一個結構傳遞:C++如何傳遞一個像這樣的結構?
template<typename T>
struct mystruct{
T a;
T b;
typename std::vector<T> v1;
};
到這樣的功能:
template<typename T>
inline void myfunc(const typename mystruct<T> &struct1){
std::cout<<struct1.a<<'\t'
<<struct2.b<<'\n';
for(int i =0; i<struct1.v1.size(); i++)
std::cout<<struct1.v1[i]<<'\n';
}
我知道myfunc()
必須做某事。錯,我該如何正確地做到這一點?非常感謝!
#include <iostream>
#include <vector>
int main(){
mystruct<float> strc1;
strc1.a = 1.0;
strc1.b = 2.0;
strc1.v1.push_back(1.0);
strc1.v1.push_back(2.0);
myfunc(strc1);
return 0;
}
您正在使用「類型名稱」太多次更新代碼,您應該只一語中的*模板使用「類型名稱」 *這裏,不能用於聲明一個成員變量或一個函數的參數 –
我很抱歉哥們@克里斯貝克,我不能抓住你,你能否更清楚地解釋一下? – Kylxyz
是什麼問題?只是通過它像其他正常功能 –