очень новый для C++.inlining не удалось вызвать маловероятный и размер кода будет расти [-Winline], но не использует встроенный
Вот мой определенный пользователем класс fmiNode: (fmi.h)
class fmiNode
{
public:
fmiNode(std::string NodeName,int Address)
{
this->name = NodeName;
this->address = Address;
}
std::string GetName()
{
return this->name;
}
int GetAddress()
{
return this->address;
}
private:
std::string name;
int address;
};
Вот мой основной метод (fmi.c)
int main (int argc, char *argv[])
{
fmiNode node1("NodeA",4);
fmiNode node2("NodeB",6);
fmiNode node3("NodeC",8);
fmiNode node4("NodeD",10);
while(1)
{
MainLoop();
}
}
Если бы я только один экземпляр объекта fmiNode все хорошо. но следующие 3 вызывает предупреждение:
warning: inlining failed in call to ‘fmiNode::fmiNode(std::string, int)’: call is unlikely and code size would grow [-Winline]
Что я здесь делаю неправильно.
EDIT:
Так что я должен определить свой класс, как это :?
class fmiNode
{
public:
fmiNode(std::string NodeName,int Address);
std::string GetName()
{
return this->name;
}
int GetAddress()
{
return this->address;
}
private:
std::string name;
int address;
};
fmiNode::fmiNode(std::string NodeName,int Address)
{
this->name = NodeName;
this->address = Address;
}
Cheers, Rhys
Спасибо. Отредактированный пост с тем, что я считаю правильным. –
@Rhys, да, вы правы в этом. – SingerOfTheFall
Большое спасибо, потраченные века, ища ответ! :) –