I need to remove an existing structure from a linked list of structures and the argument passed to remove() should be the address of the structure preceding the record to be removed....is this a good start?

Code:
#include <iostream>
#include <string>
using namespace std;

struct Info
{
 string name;
 string teleno;
 };
 
 void remove(Info*);
  
int main()
{
 Info * val;
 int i;
 
 cout<< "Enter a name:  ";
  cin>> val -> name;
 cout<< "Enter a telephone number:  ";
  cin>> val -> teleno;

return 0;  
}