簡體   English   中英

如何格式化函數以調用模板化類?

[英]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相同。

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM