Article View: pl.comp.lang.c
Article #310387variadic templates - rozwijanie argumentów, błąd kompilacji
From: Maciek
Date: Wed, 14 Sep 2022 16:34
Date: Wed, 14 Sep 2022 16:34
42 lines
2354 bytes
2354 bytes
kod poniższy działa:
void print() {
std::cout << "IN FUNCTION " << __func__ << std::endl;
std::cout << "ENDING ..." << std::endl;
return;
}
template<typename T, typename ... A>
auto print(T a, A... args) -> void {
std::cout << "IN FUNCTION " << __func__ << std::endl;
std::cout << a << std::endl;
print(args ...);
}
Natomiast w przypadku szablonu:
template<typename T, typename ... Types>
class T_Operators_tests {
public:
T_Operators_tests() {}
~T_Operators_tests() {}
void print() {
std::cout << "IN FUNCTION " << __func__ << std::endl;
std::cout << "ENDING ..." << std::endl;
return;
}
void print(T var1, Types... var2)
{
std::cout << var1 << std::endl;
this->print(var2...);
}
};
kompilator nie chce rozwinąć funkcji i nie pasuje mu liczba argumentów
Severity Code Description Project File Line Suppression State
Error C2661 'T_Operators_tests<int,int,int,int>::print': no overloaded function takes 3 arguments TestCpp1 operators_learn.hpp 37
Na czym polega mój błąd ?
Technical Details
Message-ID:
<28531d26-4cfe-4805-99ba-96dcbf0e18e4n@googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erje.net!feeder.erje.net!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mailShow Full Headers
Complete Article Headers
X-Received: by 2002:a05:620a:17a8:b0:6ce:99f0:7626 with SMTP id ay40-20020a05620a17a800b006ce99f07626mr1547586qkb.194.1663173262442; Wed, 14 Sep 2022 09:34:22 -0700 (PDT) X-Received: by 2002:a05:6214:c8b:b0:4ac:c1f7:660f with SMTP id r11-20020a0562140c8b00b004acc1f7660fmr10527631qvr.52.1663173262255; Wed, 14 Sep 2022 09:34:22 -0700 (PDT) Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erje.net!feeder.erje.net!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail Newsgroups: pl.comp.lang.c Date: Wed, 14 Sep 2022 09:34:22 -0700 (PDT) Injection-Info: google-groups.googlegroups.com; posting-host=2a02:a31b:338:d080:d7f:8992:42d4:ddad; posting-account=SOZBVwoAAAAtP6gAgjkK3BR3YPR_ux-s NNTP-Posting-Host: 2a02:a31b:338:d080:d7f:8992:42d4:ddad User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <28531d26-4cfe-4805-99ba-96dcbf0e18e4n@googlegroups.com> Subject: variadic templates - rozwijanie argumentów, błąd kompilacji From: Maciek <moblaza@gmail.com> Injection-Date: Wed, 14 Sep 2022 16:34:22 +0000 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit