The problem was a mixture of me putting the function in a header, as deathkrush and Trillian showed me, and some error in Dev C++ itself where it still thinks I want Pull(std::string OnSound, std::string OffSound); even after I replaced that function and hit 'Rebuiled all' a few times.
So I changed Switch::Pull() to Switch::pull() and it now works!
Many thanks for everyone's help, and closing Dev C++ and reopening it should clear the bug.