Új hozzászólás Aktív témák
-
Így? Ez sem műxik. De mindegy, mert megoldás van. Igazából tényleg az érdekel mi a különbség a kettő között, mindkettő változó definíció inicializálással.
class B
{
private:
A m_a;
public:
B()
{
m_a( "asdf" );
}dabadab: Viszont azzal a metódusdeklarációval igazad lesz, mert majdnem ugyanúgy néz ki.
-
-
-
Fordítási hiba.
Clang:
<source>:23:12: error: expected parameter declarator
A m_a( "asdf" );
^
<source>:23:12: error: expected ')'
<source>:23:10: note: to match this '('
A m_a( "asdf" );GCC:
<source>:23:12: error: expected identifier before string constant
23 | A m_a( "asdf" );
| ^~~~~~
<source>:23:12: error: expected ',' or '...' before string constantEz
A m_a = A( "asdf" );ill. ezA m_a = { "asdf" };is működőképes. Az elsőt még csak-csak értem, mert az, ha nem tévedek valami copy constructoros móka, bár nem tudom, hogy mennyire effektív, de a második, háááát. -
Valszeg láma kérdés, de nem értem. Ez nem megy:
#include <iostream>
class A
{
private:
std::string m_s;
public:
A( std::string s )
{
m_s = s;
}
std::string get()
{
return m_s;
}
};
class B
{
private:
A m_a( "asdf" );
public:
std::string get()
{
return m_a.get();
}
};
int main()
{
B b;
std::cout << b.get();
return 0;
}De ez igen:
#include <iostream>
class A
{
private:
std::string m_s;
public:
A( std::string s )
{
m_s = s;
}
std::string get()
{
return m_s;
}
};
int main()
{
A m_a( "asdf" );
std::cout << m_a.get();
return 0;
}A lényeg, hogy egyszer jó a
A m_a( "asdf" );másszor meg nem. -
-
Van arra mód, hogy egy usingolt típusnévhez tagfüggvényt adjak? Tehát van egy ilyen:
using kiskutyak = std::unordered_map<string, kiskutya>;
kiskutyak k;Ide szeretnék egy olyat, hogy
k.print();
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Apple iPhone 12 Pro 128GB, Kártyafüggetlen, 1 Év Garanciával
- Telefon felvásárlás!! Samsung Galaxy A70/Samsung Galaxy A71/Samsung Galaxy A72
- Dell Optiplex 390 MT,i3-2130,4GB RAM,500GB HDD,WIN10
- Laptop felvásárlás , egy darab, több darab, új , használt ! Korrekt áron !
- AKCIÓS ! MacBook Pro 16" M1 Pro 32GB RAM 1TB SSD! 1 év garancia!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
