diff --git a/applications/inference_process/src/inference_process.cc b/applications/inference_process/src/inference_process.cc
index 7f4a309..9a30029 100644
--- a/applications/inference_process/src/inference_process.cc
+++ b/applications/inference_process/src/inference_process.cc
@@ -77,19 +77,19 @@
 } // namespace
 
 namespace InferenceProcess {
-DataPtr::DataPtr(void *data, size_t size) : data(data), size(size) {}
+DataPtr::DataPtr(void *_data, size_t _size) : data(_data), size(_size) {}
 
 InferenceJob::InferenceJob() : numBytesToPrint(0) {}
 
-InferenceJob::InferenceJob(const string &name,
-                           const DataPtr &networkModel,
-                           const vector<DataPtr> &input,
-                           const vector<DataPtr> &output,
-                           const vector<DataPtr> &expectedOutput,
-                           size_t numBytesToPrint) :
-    name(name),
-    networkModel(networkModel), input(input), output(output), expectedOutput(expectedOutput),
-    numBytesToPrint(numBytesToPrint) {}
+InferenceJob::InferenceJob(const string &_name,
+                           const DataPtr &_networkModel,
+                           const vector<DataPtr> &_input,
+                           const vector<DataPtr> &_output,
+                           const vector<DataPtr> &_expectedOutput,
+                           size_t _numBytesToPrint) :
+    name(_name),
+    networkModel(_networkModel), input(_input), output(_output), expectedOutput(_expectedOutput),
+    numBytesToPrint(_numBytesToPrint) {}
 
 InferenceProcess::InferenceProcess() : lock(0) {}
 
diff --git a/applications/message_process/src/message_process.cc b/applications/message_process/src/message_process.cc
index db8b446..1be6958 100644
--- a/applications/message_process/src/message_process.cc
+++ b/applications/message_process/src/message_process.cc
@@ -28,7 +28,7 @@
 
 namespace MessageProcess {
 
-QueueImpl::QueueImpl(ethosu_core_queue &queue) : queue(queue) {}
+QueueImpl::QueueImpl(ethosu_core_queue &_queue) : queue(_queue) {}
 
 bool QueueImpl::empty() const {
     return queue.header.read == queue.header.write;
@@ -116,9 +116,9 @@
 
 MessageProcess::MessageProcess(ethosu_core_queue &in,
                                ethosu_core_queue &out,
-                               ::InferenceProcess::InferenceProcess &inferenceProcess) :
+                               ::InferenceProcess::InferenceProcess &_inferenceProcess) :
     queueIn(in),
-    queueOut(out), inferenceProcess(inferenceProcess) {}
+    queueOut(out), inferenceProcess(_inferenceProcess) {}
 
 void MessageProcess::run() {
     while (true) {
