🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.c
Article #310390

Re: variadic templates - rozwijanie argumentów, błąd kompilacji

#310390
From: Przemek Biernat
Date: Wed, 29 Mar 2023 14:41
45 lines
2782 bytes
On Wednesday, September 14, 2022 at 6:34:23 PM UTC+2, Maciek wrote:
> 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 ?

Przestańcie używać variatic templetes, bo to już jest zboczenie.
Technical Details
Message-ID: <bb60e647-7553-450e-bbcf-27196989fbedn@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!1.us.feeder.erje.net!feeder.erje.net!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
References: <28531d26-4cfe-4805-99ba-96dcbf0e18e4n@googlegroups.com>

Show Full Headers
Complete Article Headers
X-Received: by 2002:a05:620a:678:b0:748:49ac:1e0f with SMTP id a24-20020a05620a067800b0074849ac1e0fmr4586305qkh.7.1680100901020;        Wed, 29 Mar 2023 07:41:41 -0700 (PDT)
X-Received: by 2002:a05:6871:8891:b0:17e:ac0e:9874 with SMTP id tg17-20020a056871889100b0017eac0e9874mr4760339oab.8.1680100900755; Wed, 29 Mar 2023 07:41:40 -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!1.us.feeder.erje.net!feeder.erje.net!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: pl.comp.lang.c
Date: Wed, 29 Mar 2023 07:41:40 -0700 (PDT)
In-Reply-To: <28531d26-4cfe-4805-99ba-96dcbf0e18e4n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=193.238.201.2; posting-account=JqeG5AoAAAAiFyQBrqF1gF5A1eLVPTrJ
NNTP-Posting-Host: 193.238.201.2
References: <28531d26-4cfe-4805-99ba-96dcbf0e18e4n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <bb60e647-7553-450e-bbcf-27196989fbedn@googlegroups.com>
Subject: Re: variadic templates - rozwijanie
 argumentów, błąd kompilacji
From: Przemek Biernat <biernat.przemyslaw@gmail.com>
Injection-Date: Wed, 29 Mar 2023 14:41:41 +0000
X-Received-Bytes: 2695
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit