In myfunction1 and 2 value is a reference to myclass and integer so sizeof returns 4 for 32bit or 8 for 64bit
This code
#include <QCoreApplication>
struct MyStruct
{
int a3;
};
void myfunction1 (MyStruct &value)
{
int si = sizeof (value);
qDebug ("[%s]: Sizeof = %d", Q_FUNC_INFO, si);
}
void myfunction2 (int &value)
{
int si = sizeof (value);
qDebug ("[%s]: Sizeof = %d", Q_FUNC_INFO, si);
}
int main (int argc, char* argv[])
{
qDebug ("Hello World");
MyStruct *ms = new MyStruct;
myfunction1 (*ms);
myfunction2 (ms->a3);
delete ms;
}
#include <QCoreApplication>
struct MyStruct
{
int a3;
};
void myfunction1 (MyStruct &value)
{
int si = sizeof (value);
qDebug ("[%s]: Sizeof = %d", Q_FUNC_INFO, si);
}
void myfunction2 (int &value)
{
int si = sizeof (value);
qDebug ("[%s]: Sizeof = %d", Q_FUNC_INFO, si);
}
int main (int argc, char* argv[])
{
QCoreApplication a (argc, argv);
qDebug ("Hello World");
MyStruct *ms = new MyStruct;
myfunction1 (*ms);
myfunction2 (ms->a3);
delete ms;
}
To copy to clipboard, switch view to plain text mode
executes without crash with output
Hello World
[void myfunction1(MyStruct&)]: Sizeof = 4
[void myfunction2(int&)]: Sizeof = 4
Hello World
[void myfunction1(MyStruct&)]: Sizeof = 4
[void myfunction2(int&)]: Sizeof = 4
To copy to clipboard, switch view to plain text mode
Bookmarks