diff --git a/include/plist/Data.h b/include/plist/Data.h
index c9c089b..a100d28 100644
--- a/include/plist/Data.h
+++ b/include/plist/Data.h
@@ -34,7 +34,7 @@
     Data(Node* parent = NULL);
     Data(plist_t node, Node* parent = NULL);
     Data(const Data& d);
-    Data& operator=(Data& d);
+    Data& operator=(Data& b);
     Data(const std::vector<char>& buff);
     virtual ~Data();
 
diff --git a/include/plist/Dictionary.h b/include/plist/Dictionary.h
index 71d40ac..931a569 100644
--- a/include/plist/Dictionary.h
+++ b/include/plist/Dictionary.h
@@ -55,7 +55,7 @@
     iterator Insert(const std::string& key, Node* node) PLIST_WARN_DEPRECATED("use Set() instead");
     void Remove(Node* node);
     void Remove(const std::string& key);
-    std::string GetNodeKey(Node* key);
+    std::string GetNodeKey(Node* node);
 
 private :
     std::map<std::string,Node*> _map;
diff --git a/include/plist/Key.h b/include/plist/Key.h
index c680f1c..e75aabc 100644
--- a/include/plist/Key.h
+++ b/include/plist/Key.h
@@ -33,8 +33,8 @@
 public :
     Key(Node* parent = NULL);
     Key(plist_t node, Node* parent = NULL);
-    Key(const Key& s);
-    Key& operator=(Key& s);
+    Key(const Key& k);
+    Key& operator=(Key& k);
     Key(const std::string& s);
     virtual ~Key();
 
