C++ Calling constructor inside another class constructor : <p>On this line <code>Transaction t(name, x, Date d(a, b, c));</code> this codes generates an error: <code>expected primary-expression before 'd'|</code> </p>

<p>Is it a valid code calling the constructor and passing another constructor call to it??!!   </p>

<pre><code>#include&lt;iostream&gt;
#include&lt;cstring&gt;

using namespace std;
class Date{
private:
    int a;
    int b;
    int c;
public:
    Date(int a =0, int b=0, int c =0){
        this-&gt;a= a;
        this-&gt;b = b;
        this-&gt;c = c;
    }

    int getA(){
        return a;
    }

    int getB(){
        return b;
    }

    int getC(){
        return c;
    }

    void setA(int a){
        this-&gt;a = a;
    }

    void setB(int b){
        this-&gt;b = b;
    }

    void setC(int c){
        this-&gt;c = c;
    }

};

class Transaction {
private:
    char name[30];
    char x[10];
    Date *d;
public:



    Transaction(char const *name = "", char const *x = "", const Date *d = 0) {
        strcpy(this-&gt;name, name);
        strcpy(this-&gt;x, x);
//        this-&gt;d.setA(d.getA());
//        this-&gt;d.setB(d.getB());
//        this-&gt;d.setC(d.getC());
    }

    Date *getDate() {
        return d;
    }

};

int main() {

    int a,b,c;
    char name[30];
    char x[10];

    a=1;
    b=2;
    c=3;

    cin&gt;&gt;name;
    cin&gt;&gt;x;

    Transaction t(name, x, Date d(a, b, c));

}
</code></pre>
