richard@richard-VirtualBox:~/Programming$ cat main.cpp
#include <iostream>
int main()
{
int getInteger();
int x { getInteger() };
int y { getInteger() };
std::cout << x << " + " << y << " is " << x + y << '\n';
return 0;
}
richard@richard-VirtualBox:~/Programming$ cat input.cpp
#include <iostream>
int getInteger()
{
std::cout << "Enter an integer: ";
int x{};
std::cin >> x;
return x;
}
richard@richard-VirtualBox:~/Programming$ g++ main.cpp -o main.o
main.cpp: In function ‘int main()’:
main.cpp:5:19: warning: empty parentheses were disambiguated as a function declaration [-Wvexing-parse]
5 | int getInteger();
| ^~
main.cpp:5:19: note: remove parentheses to default-initialize a variable
5 | int getInteger();
| ^~
| --
main.cpp:5:19: note: or replace parentheses with braces to value-initialize a variable
/usr/bin/ld: /tmp/ccRNaSLq.o: in function `main':
main.cpp:(.text+0xd): undefined reference to `getInteger()'
/usr/bin/ld: main.cpp:(.text+0x15): undefined reference to `getInteger()'
collect2: error: ld returned 1 exit status
richard@richard-VirtualBox:~/Programming$
cmljaGFyZEByaWNoYXJkLVZpcnR1YWxCb3g6fi9Qcm9ncmFtbWluZyQgY2F0IG1haW4uY3BwCiNpbmNsdWRlIDxpb3N0cmVhbT4KCmludCBtYWluKCkKewogICAgaW50IGdldEludGVnZXIoKTsKCiAgICBpbnQgeCB7IGdldEludGVnZXIoKSB9OwogICAgaW50IHkgeyBnZXRJbnRlZ2VyKCkgfTsKCiAgICBzdGQ6OmNvdXQgPDwgeCA8PCAiICsgIiA8PCB5IDw8ICIgaXMgIiA8PCB4ICsgeSA8PCAnXG4nOwogICAgcmV0dXJuIDA7Cn0KcmljaGFyZEByaWNoYXJkLVZpcnR1YWxCb3g6fi9Qcm9ncmFtbWluZyQgY2F0IGlucHV0LmNwcAojaW5jbHVkZSA8aW9zdHJlYW0+CgppbnQgZ2V0SW50ZWdlcigpCnsKICAgIHN0ZDo6Y291dCA8PCAiRW50ZXIgYW4gaW50ZWdlcjogIjsKICAgIGludCB4e307CiAgICBzdGQ6OmNpbiA+PiB4OwogICAgcmV0dXJuIHg7Cn0KcmljaGFyZEByaWNoYXJkLVZpcnR1YWxCb3g6fi9Qcm9ncmFtbWluZyQgZysrIG1haW4uY3BwIC1vIG1haW4ubwptYWluLmNwcDogSW4gZnVuY3Rpb24g4oCYaW50IG1haW4oKeKAmToKbWFpbi5jcHA6NToxOTogd2FybmluZzogZW1wdHkgcGFyZW50aGVzZXMgd2VyZSBkaXNhbWJpZ3VhdGVkIGFzIGEgZnVuY3Rpb24gZGVjbGFyYXRpb24gWy1XdmV4aW5nLXBhcnNlXQogICAgNSB8ICAgICBpbnQgZ2V0SW50ZWdlcigpOwogICAgICB8ICAgICAgICAgICAgICAgICAgIF5+Cm1haW4uY3BwOjU6MTk6IG5vdGU6IHJlbW92ZSBwYXJlbnRoZXNlcyB0byBkZWZhdWx0LWluaXRpYWxpemUgYSB2YXJpYWJsZQogICAgNSB8ICAgICBpbnQgZ2V0SW50ZWdlcigpOwogICAgICB8ICAgICAgICAgICAgICAgICAgIF5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgLS0KbWFpbi5jcHA6NToxOTogbm90ZTogb3IgcmVwbGFjZSBwYXJlbnRoZXNlcyB3aXRoIGJyYWNlcyB0byB2YWx1ZS1pbml0aWFsaXplIGEgdmFyaWFibGUKL3Vzci9iaW4vbGQ6IC90bXAvY2NSTmFTTHEubzogaW4gZnVuY3Rpb24gYG1haW4nOgptYWluLmNwcDooLnRleHQrMHhkKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgZ2V0SW50ZWdlcigpJwovdXNyL2Jpbi9sZDogbWFpbi5jcHA6KC50ZXh0KzB4MTUpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBnZXRJbnRlZ2VyKCknCmNvbGxlY3QyOiBlcnJvcjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpyaWNoYXJkQHJpY2hhcmQtVmlydHVhbEJveDp+L1Byb2dyYW1taW5nJCAK