This is because you have annotated the method as @future future methods can only accept primitive parameters. So you would need to change the parameter type to Id for example:
@future (callout=true)
public static void SendTestDriveReminder(Set<Id> leadIds)
The important thing to note is that I have recommend you change your parameter from a single record to a set of Id's this is because you should be bulkifying your trigger
trigger LeadTriggerExample on Lead (after insert, after update) {
Set<Id> leadIds = new Set<Id>();
for(Lead l : Trigger.new) {
if(/*Certain Criteria is met*/) {
leadIds.add(l.Id);
}
}
SMS_Services.SendTestDriveReminder(leadIds);
}
You only get a small amount of future methods each day, you need to use them sparingly