Başka bir işleve argüman olarak iletilen bir işlevi çağırmam gerekiyor ve önce gerekli argümanları geçmesi gerekiyor. Bu çıktıyı ruhBir işlev, D'de zaten verilen parametrelerle bağımsız değişken olarak nasıl çağrılır?
#include <iostream>
#define CALL(x) x; \
std::cout << "Called!" << std::endl;
void foo(int a, int b)
{
std::cout << a * b << std::endl;
}
int main()
{
CALL(foo(9, 8)); // I want to pass 2 int parameters inside 'foo' function call
system("PAUSE");
}
: C++, bu sorunun bir makro ile çözülür tam olarak herhangi bir fikir D'de fonksiyon çağırmak zorunda nasıl
> 72
> Called!
?
Düzenleme: Ben gibi CALL içinde "foo" aramak istediğiniz bu D'de yapılması gereken :
CALL(foo(9, 8)) // and not like: CALL(foo, 9, 8)
Ama bunun ile belki D'de elde edilir bilmiyorum mixin?
D veya C++ ile ilgili bir soru mu var? – YSC
* "In C++, bu sorun bir makroyla çözülür" *. Daha iyi bir yol değil, şablon yöntemi daha iyi (ama biraz farklı sözdizimi ile). – Jarod42
@YSC Net olmasaydım özür dilerim, D ile ilgili. Sadece C++ 'da nasıl yaptığım hakkında bir örnek verdim. –