Visual C++ :: Local Variable Be Passed As Parameter Into A New Thread?

Apr 1, 2013

Can local variable be passed as the parameter for a new created thread procedure? Here is the example code:

Code:
void CDLG::some_function()
{
CString strFileName="abc.doc";
//local variable, can it be valid for being passed into the following new thread???
//Can strFileName still be accessed from within the stack of thread procedure?
::AfxBeginThread(ProcessContentThread,(LPVOID)&strFileName);
}

[Code]...

There is another method using variable on the heap,

Code:

void CDLG::some_function()
{
CString strFileName="abc.doc";
CString* pstrFN=new CString(strFileName);
::AfxBeginThread(ProcessContentThread,(LPVOID)pstrFN);
}

[Code]...

I test these code, both methods work as expected, but I doubt whether the first method is a good way. OR if only the second method is the correct way to pass a parameter to a thread.

View 12 Replies


ADVERTISEMENT

C++ :: Vector Get Passed To A Thread By Value Instead Of By Reference

Aug 25, 2013

I have a function :

void UpdateNotefications(vector <string> &Notefic)

Where I change a vector...

I called it with a thread :

thread t1 (UpdateNotefications, Notefic);
t1.detach();

Though I see that inside the func, Notefic has a val, and outside, it is still empty (after the function is over)...

View 6 Replies View Related

Visual C++ :: Code Error C4700 - Uninitialized Local Variable Eligible Used

Mar 27, 2015

In Visual Studios I keep getting this error. cpp(36): error C4700: uninitialized local variable 'Eligible' used

Code:
#include <iostream>
#include <string>
#include <iomanip>
#include <fstream>
#include <cmath>
using namespace std;
void Getinput(int& Loantype, double& Income, double& Totaldebt, double& Loanamount);

[Code] ....

View 4 Replies View Related

C/C++ :: Dynamically Allocating Array Passed As Parameter

Apr 18, 2015

I'm trying to dynamically allocate a standard array at runtime in the function of a class where the array is "owned" by the calling class. The calling class knows nothing about the array before it makes the call to create the array other than the datatype of the array. But the full array of data needs to be returned.

It appears that the pointer being passed makes a copy of the pointer on the stack and then when the function returns it pops it off the stack and the array is a memory leak because the pointer is once again a nullptr as it was before being passed and the array has not been deallocated with delete yet (as it should not have been).

(Edit:Unexpected value of MyArray being a nullptr instead of pointing to an array after returning from line 09.)

class Class1 {
void FunctionA() {
Class2 OwnedClass;
int* MyArray = nullptr;
int SizeOfMyArray = 0;

[Code] ....

View 14 Replies View Related

C :: Transform Local Variable Into Global Variable?

Oct 25, 2014

I need to transform a local variable into a global variable so I can use it in one of my functions. I thought about passing the value as a parameter to this function but I can do this since the function is called inside the while loop and this variable counts how many times the while loop does (so the final value is outside the loop). Example to visualize better:

Code:
while(condition) {
function(parameter1, parameter2);
count = count + 1;
}
printf("%d
", count);

So, I need to transform the final value of "count" into a global variable. Can I do this?

View 5 Replies View Related

C/C++ :: Function With Local Variable

Jul 28, 2014

#include<iostream>
#include<stdlib.h>
using namespace std;
int Name(),Minimum(),Maximum();
int main() {
int name=Name(),minimum= Minimum(),maximum= Maximum();

[Code] ...

There are error to let user to key in minimum and maximum values, i would like to know whats the problem?

View 1 Replies View Related

C++ :: Linked List Node Passed As Parameter / Argument Pointer To Pointer Notation

Jan 17, 2014

I was having problems changing the value of my head node I passed it as an argument as head which would be the address. The parameter was defined as struct node *head. like this

bool deleteNode(struct node *head, struct node *delptr)

I tried manipultaing pointer values to change head node value but it did not work. I saw some code online which used pointer to pointers(in code below) to change head node value it worked I dont fully understand why. Would like better understanding of why.

Would also like to know why the argument call needed &head instead of just head.

remove = deleteNode(&head,found); opposed to remove = deleteNode(head,found);

#include "stdafx.h"
#include<iostream>
struct node{

[Code].....

View 1 Replies View Related

C :: Returning A Pointer To Local Variable

Aug 18, 2014

Should i never return a pointer to a local variable. i have seen the following code in the standard text book.

Code:

struct node *add_to_list(struct node *list, int n)
{
struct node *new_node;
new_node = malloc(sizeof(struct node));
// some code here
return new_node;
}

new_node is a local pointer then why is he returning the new_node? Is it wrong or am i failing to understand something?

View 2 Replies View Related

C++ :: Temp Or Local Variable Warning

Feb 28, 2014

Here is my overloaded operator :

const double & Waz::operator()(int i,int j) const {
return ((WazImpl const)(*p))(i,j);
}

Where in Waz class I have : WazImpl* p; and in the class WazImpl I have an operator () const

The warning is : Warning C4172 returning address of local variable or temporary

As far as I understand I'm returning a temp variable which is destroyed somewhere else what can I do to fix it?

View 2 Replies View Related

C++ :: Returning Address Of A Local Variable?

Jul 9, 2014

I know that this code is wrong because it returns the address of local variable which no longer exist after function:

int *f1()
{
int x = 2;
return &x;
}

However, why this one does not show problem and runs fine, here the pointer p is also a local variable:

int *f2()
{
int x = 2;
int *p;
p = &x;
return p;
}

View 6 Replies View Related

C# :: Unassigned Local Variable Error?

Jan 27, 2015

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Furniture {
class Program {
static void Main(string[] args)

[Code] ....

I tried changing the type of variable to char but i still get the same result. i also tried using a switch statement which was my first choice but i had the same issue.

View 2 Replies View Related

C/C++ :: Uninitialized Local Variable Errors

Sep 7, 2014

I keep getting the "Uninitialized Local Variable" error. But for my code it's says it's the variable 'pay' in my Manager Function. This is the only error that is popping up.

I've tried setting pay to 0 but when I do, I get a bunch of external errors. I've also tried assigning pay to WeeklySalary like this:

double pay = WeeklySalary;

//Calculating pay for a company

#include <iostream>
#include <iomanip>
using namespace std;

//Function prototypes
double managerFunction();
double hourlyWorkerFunction();
double commissionWorkerFunction();

[Code] .....

View 10 Replies View Related

C# :: Unassigned Local Variable In Pay Calculator

Nov 15, 2014

{
//Declare Variables
decimal hrsWrkd, otPay, grossPay, taxRate=0, taxAmount, netPay,basePay, wage;
string maritalStatus;
const decimal WORKWEEK = 40;
const decimal OTRATE = 1.5m;
const double m = 0.15;

[Code] ....

The error message I am getting is Use of unassigned local variable 'otPay' . I see its been declared and been used in the code so the error is confusing, also when i run the program i noticed that it doesn't take out the taxes.

View 4 Replies View Related

C :: Return Local Variable - Infix To Postfix

Nov 21, 2014

So I have been working my way through this assignment and I'm just stuck now. I cannot get this work properly It just tells me I'm trying to return a local variable when attempting to return postfix in the to_postfix function. It is line 97 that wont compile. Also I cannot change anything in runner.c.

Calculator.c
Code:

1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <ctype.h>
4 #include <string.h>
5 #include "stack.h"

[Code] .....

View 11 Replies View Related

C/C++ :: Local Variable Declaration - While Loop Expression

Feb 3, 2013

I got the following lines of code from a book. The variable char c is being used here to demonstration local variable declaration.

  while(char c = cin.get() != 'q') {
    cout << c << " wasn't it" << endl;
    if(char x = c == 'a' || c == 'b')
      cout << "You typed a or b" << endl;
    else
      cout << "You typed " << x << endl;
  }

It compiles and runs. There are two issues when I try to run it.

1) It seems to loop through two times for every entry. If I insert cin.ignore() just before the closing bracket, it seems to work better.

2) the variable c does not seem to have the character I entered when examined in the if statement.

What is happening with the variable c inside the while loop scope?

Does c actually get initialized?

View 2 Replies View Related

C/C++ :: Case Bypasses Initialization Of Local Variable

Apr 16, 2014

#include <iostream.h>
#include <conio.h>
int main() {
int a;
cout<< "ingrese un numero entre 1 y 4 gracias
";
cin>> a;
switch(a)

[code].....

View 1 Replies View Related

C/C++ :: Create Local Instances Of A Global Variable?

Oct 4, 2012

is it possible to have a global variable pointing to a different address depending on the thread?

Imagine one would like to use threads with the loop:

for (i=0;i<n;i++){
globalPointerVariable=getAddress(i);
DoThingsUsingThe_globalPointerVariable();
}

View 4 Replies View Related

C++ :: How To Pass Address Without Creating Local Variable

May 14, 2012

I am doing a piece of gui code on some embedded system.

I'm trying to find a way of eliminating the local variable kEvent:

Code:
EVENT kEvent;
....

Code:
kEvent = EVENT_UPSTREAM;
xStatus = xQueueSendToBack(getEventProcessorQueue(),&kEvent, 0 );
....

I tried this, it doesn't work:

Code:
xStatus = xQueueSendToBack(getEventProcessorQueue(),(EVENT *)EVENT_UPSTREAM, 0 );

Shouldn't this work?

View 1 Replies View Related

C++ :: Function Works When Passed String Literal But Not A Variable

Jul 10, 2014

I'm making a .json loader for a project that I'm working on, and to simplify things, I decided to make all the root attributes named in a separate file. Here's my problem: my loading function, Add(const char* id), works just fine when I pass it a string literal.

However, when I use a function that iterates through a vector list, even with the exact same definitions as the literal, it returns the error: std::out_of_range at memory location 0x0026fb30

I've stepped through it with the VS2010 debugger about a hundred times, checked against memory locations, and just have done everything I can think of, all to no avail..

The code, with data-checking omitted:

The std::map I'm adding to:

static std::map<const char*, Item*> *s_mItems;
Initialized as std::map<const char*, Item*> *Item::s_mItems;

Add() Function (Works by itself with a literal):

static bool Add(const char* id) {
...
std::string name = node.Get("name").ToString();
std::string desc = node.Get("description").ToString();
int rarity = StrToRarity(node.Get("rarity").ToString());

[Code] ....

AddList() function, where the program always breaks:

static void AddList(std::vector<std::string> list) {
for(std::vector<std::string>::iterator it = list.begin(); it != list.end(); it++) {
Add(it->c_str());
}
}

View 3 Replies View Related

C++ :: Changing Global Variable In A Thread

Jul 28, 2013

I have a small problem with my program. It is kinda a mess but I will try to explain you what I am trying to do. I have some threads. One of it, it attempts to detect a game client. So my code is sort of like that:

DWORD ProcessID; // The process ID of the game client
void test() {
char* text;

[Code]....

So basically, its like the variable changes, but only inside the thread... why does that happen?

View 15 Replies View Related

C++ :: Difference Between Static Local Variable And Static Global Variable?

Aug 5, 2013

Here is the code,

Code:
class A {
};
A& CreateObject() {
static A a;
return a;
} static A aa;
int main() {
return 0;
}

So is there any difference between a defined in CreateObject and aa?

View 6 Replies View Related

C++ :: Get Error Case Bypasses Initialization Of A Local Variable

Apr 13, 2014

i always get error case bypasses initialization of a local variable

here's my coding

my header files

Code: #include <stdio.h>
#include <conio.h>
#include <iostream.h>
#include <fstream.h>

[Code].....

i'm using borland c++ v5.02

View 3 Replies View Related

C :: String Declaration As Global / Main Local Variable

Nov 14, 2013

When a declare a string e.g.

Code:
char str[30]; as a global variable, the srting is initialized to NULL.

But if I declare char str1[30] INSIDE main(), then the string has garbage inside.... Why this happens??

E.g. the following code snippet...

Code:
#include <stdio.h>
char str[50];
int main(){
char str1[50];

[Code] ....

View 4 Replies View Related

C/C++ :: Error / Case Bypasses Initialization Of A Local Variable

Nov 22, 2013

i have highlighted the errors in block letters.

#include<fstream.h>
#include<conio.h>
#include<string.h>
#include<stdio.h>
#include<stdlib.h>
void login();
struct date {
int dd,mm,yy;

[code].....

View 1 Replies View Related

C++ :: Object That Is Passed To Function Is Changed Although No Pointer Is Passed

Mar 22, 2013

I am posting this simplified piece of code that is a bit confusing for me. There are two functions that I call. One shows the expected results but the result of the other one rather puzzles me.

//#define defineVecTyp Vec3f
#define defineVecTyp float
template <typename vecTyp>
vecTyp buildLaplacianPyramid(cv::Mat inputmat) {
vecTyp lapPyr;

[Code].....

Calling the function sum1 does not change the values stored in the variables val1 and val2. The output of the program is as follows:

val1= 1 ## val2= 10 // before the call of function sum1
val1= 1 ## val2= 10 // after the call of function sum1
sumOfVals= 22

This is quite obvious and as expected and I just pasted this piece of code as an example for better clarification.

However, if I call the function buildLaplacianPyramid and apply a function for Gaussian Blurring, this also effects the cv::Mat passed to the function. The line imshow("M1, after buildLaplacianPyramid",M1); therefore shows an image that is blurred. Since I am not passing a pointer to the cv::Mat I do not understand why this should be happening. I was assuming that there would be a copy of the cv::Mat M1 to be used within the function. Therefore I was expecting the cv::Mat M1 to retain its original value. I was expecting that all changes applied to cv::Mat inputmat within the function would not have any influence on the cv::Mat M1. Just like in my other example with the sum.

View 3 Replies View Related

C# :: One Thread Trying To Pass Data To Another Thread Using Serial Port

Jul 30, 2014

I have a class which I wrote and one of its object is "SerialPort" .NET class. In my MainWindow I created instance of my class called "SerialPortComm", then I send through some functions of mine, commands to the Serial Port, and I receive answers through "DataReceived" event.

But when I trying to use Dispatcher.BeginInvoke to write my data I have received (successfully), nothing shows on the RichTextBox which I'm trying to write to.

What can caused that, and How I can make it works?

SerialPortComm.cs

public partial class SerialPortComm : UserControl {
public SerialPort mySerialPort = new SerialPort();
public void Open_Port(string comNumber, int baudRate) {
mySerialPort.PortName = comNumber;
mySerialPort.BaudRate = baudRate;

[Code] ....

View 7 Replies View Related







Copyrights 2005-15 www.BigResource.com, All rights reserved