🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

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

#310387
From: Maciek
Date: Wed, 14 Sep 2022 16:34
42 lines
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-mail

Show 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