That's an entirely different problem.
public Member(String newName, String newId, String newPinNumber, Store store);
Is the signature.
You have given it:
public Member(String, String, String);
Which has no overload on the constructor to accept that.
According to the error:
required: java.lang.String,java.lang.String,java.lang.String,Store found:java.lang.String,java.lang.String,java.lang.String
, you have constructed an object without providing it with a fourth parameter at all, so I haven't a clue where you did that. The error will tell you where it is. So this cannot be the construction you are using
Member member = new Member(name, id, pinNumber, this);
As for changing the datatype, I'm not sure what you expected. You cannot just change a Store object to a String object and expect that it will work without greatly modifying the other code to accommodate it.
As for your original problem, its simply that you haven't assigned this.store a value. All you have is a block of datatype Store, but you haven't put anything into it so therefore you cannot operate on it.