Zmiana wartości elementów struktury przez wskaźnik

0
 
#include <iostream>
#include <cstdlib>
#define P(A) cout << #A << " = " << (A) << endl;
using namespace std;
struct test
{
    string varStrA;
    string varStrB;
    int varInt;
};
int main()
{
    test varTest;
    varTest.varInt=123;
    varTest.varStrA="aaa";
    varTest.varStrB="bbb";
    P(varTest.varInt);
    P(varTest.varStrA);
    P(varTest.varStrB);
    P(&varTest);
    P(&varTest.varInt);
    P(&varTest.varStrA);
    P(&varTest.varStrB);
    cout << endl;

    test *wsk=new test;
    P(wsk);
    P(&wsk);
    wsk=&varTest;
    P(wsk);
    P(&wsk);
    //i tu się zaczyna problem
    return 0;
}

Chcę za pomocą wskaźnika zmienić wartości elementów struktury. Na początku myślałem, że będzie łatwo, ale mam problem :) Próbowałem już na różnych sposobów i nie wiem dlaczego "nie działa". Czego próbowałem ? Poniżej przykłady:

 
test varTest;
varTest.varInt=123;
varTest.varStrA="aaa";
varTest.varStrB="bbb";

test *wsk=new test;
wsk=&varTest;

//Ex. 1

*wsk.varInt=456;

//Ex. 2

int a=456;
wsk.varInt=&a;

Jak rozwiązać ten problem (pewnie prosto) ?

2

o_O pewnie wystarczyłoby poczytać o wskaźnikach do obiektów :p

wsk->varInt = 123;

można też tak(kłania się priorytet operatorów):

(*wsk).varInt = 123;

1 użytkowników online, w tym zalogowanych: 0, gości: 1