[英]How do I call a templated member function without knowing whether or not the class is a template?
[英]How do I format my function to call a templated class?
我敢肯定有一個很簡單的答案,但我不知道。 我已經編寫了模板化的類,但是我想在未模板化的類函數中通過引用傳遞該類。 這是我的東西。 我遇到很多錯誤。 我需要做的只是弄清楚如何格式化將模板化類插入函數的方式,但是我很茫然。 謝謝,如果代碼不能真正幫助您,則對不起。
#include <iostream>
using namespace std;
template <typename T>
class Foo {
public:
Foo();
insert(const T& Item)
//And other function, just examples
};
class noFoo(){
void test(Foo <T>& foo);
int i;
int j;
int k
};
template <typename T>
void noFoo::test(Food <T>& foo)}
cout << "hi";
}
int main() {
Foo<char> wr;
test(wr);
return 0;
}
使test
成為功能模板。 我還為您糾正了許多語法錯誤( class noFoo()
嗎?),刪除了不必要的代碼,並運行了clang-format
的縮進。
#include <iostream>
template <typename T>
class Foo {};
class noFoo
{
public:
template <typename T>
void test(Foo<T> &);
};
template <typename T>
void noFoo::test(Foo<T> &)
{
std::cout << "hi\n";
}
int main()
{
Foo<char> wr;
noFoo{}.test(wr);
}
由於您的問題被標記為d ,因此這里的代碼與D相同。
import std.stdio;
class Foo(T) {};
class noFoo
{
public:
void test(T)(Foo!(T))
{
writeln("hi");
}
};
void main()
{
auto wr = new Foo!char;
(new noFoo).test(wr);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.