{"id":27499,"date":"2022-12-24T19:15:04","date_gmt":"2022-12-24T13:45:04","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-how-to-call-user-defined-functions-in-c\/"},"modified":"2022-12-24T19:15:04","modified_gmt":"2022-12-24T13:45:04","slug":"solved-how-to-call-user-defined-functions-in-c","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-how-to-call-user-defined-functions-in-c\/","title":{"rendered":"[Solved] How to call user defined functions in C++?"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-40903877\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"40903877\" data-parentid=\"40903189\" data-score=\"1\" data-position-on-page=\"2\" data-highest-scored=\"0\" data-question-has-accepted-highest-score=\"0\" itemprop=\"suggestedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\">\n<div class=\"post-layout\">\n<div class=\"votecell post-layout--left\"><\/div>\n<div class=\"answercell post-layout--right\">\n<div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p>As mentioned by \u03c0\u03ac\u03bd\u03c4\u03b1\u1fe5\u03b5\u1fd6 in a comment, it seems that you&#8217;ve a few misconceptions regarding scope of variables, about parameters and about return values. Let&#8217;s see if we can&#8217;t dispel some of those.<\/p>\n<p>First of all, lets talk about scope. When we declare a variable inside a block delimited with <code>{<\/code> and <code>}<\/code>, the variable only exists inside that block. Code that follows the block <em>cannot access the variable<\/em>.<\/p>\n<p>So, this is okay:<\/p>\n<pre><code>int a = 3;\nint b = 2;\n\nint c = a*b;\n<\/code><\/pre>\n<p>But, this is not, since the values of a and b are no longer available:<\/p>\n<pre><code>{\n int a = 3;\n int b = 2;\n}\n int c = a*b;\n<\/code><\/pre>\n<p>Next, lets talk about parameters. These are the inputs to functions which the function will use in order to complete its task. While their name is irrelevant and essentially meaningless, it will certainly help you and others of you give them meaningful names. Some programming languages and indeed, students of some disciplines don&#8217;t follow this maxim and can produce code that&#8217;s harder to follow than it need be. The implementation of Basic found in 20 year old Texas Instruments calculators and physicists, I&#8217;m looking at <em>you<\/em>!<\/p>\n<p>Consider the following functions, (whose bodies I&#8217;ve ommitted for brevity):<\/p>\n<pre><code>double calcArea(double a)\n{\n ...\n}\n\ndouble calcArea(double b)\n{\n ...\n}\n<\/code><\/pre>\n<p>They both suck. What&#8217;s <code>a<\/code> stand for, how about <code>b<\/code>?<br \/>\nA far better pair might resemble:<\/p>\n<pre><code>double calcArea(double radius)\n{\n ...\n}\n\ndouble calcArea(double sideLenOfSquare)\n{\n ...\n}\n<\/code><\/pre>\n<p>Lastly, lets talk about return values. In each of the 4 preceding functions, the declaration begins with <code>double<\/code>. This means that we can expect to get back a value of type double from the function. However, this is just coding &#8211; there&#8217;s no magic and as such, we need to actually let the compiler know what this value will be. Extending the two previous functions, we might come up with some something like the following:<\/p>\n<pre><code>double calcArea(double radius)\n{\n  return 3.1415926535 * (radius * radius);\n}\n\ndouble calcArea(double sideLenOfSquare)\n{\n  return sideLenOfSquare * sideLenOfSquare;\n}\n<\/code><\/pre>\n<p>Now as it turns out &#8211; even these two simple functions are not all they&#8217;ve cracked-up to be. Namely, the first function uses a constant &#8211; \u03c0 (Pi or 3.141&#8230;.) This already exists (and with <em>far<\/em> better precision than I&#8217;ve used) in the <code>math.h<\/code> header file. If this file is included, we then have access to the <code>#define<\/code>d constant, <code>M_PI<\/code>.<br \/>\nNext, both of these functions have the same name and take the same number of parameters of identical type. The compiler can&#8217;t possibly know which one you&#8217;d like to invoke. At a minimum, they should have different names. Perhaps something like <code>calcCircleArea<\/code> and <code>calcSquareArea<\/code>. Now, the compiler knows which function you&#8217;re referring to and will happily compile this part of the code. Errors may exist elsewhere, but these are a different matter.<\/p>\n<p>A little research on <code>function overloading<\/code> will provide resources that can explain the problem and solution to functions with the same name far better than I am both able and inclined to try. \ud83d\ude42<\/p>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\">1<\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved How to call user defined functions in C++? <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] As mentioned by \u03c0\u03ac\u03bd\u03c4\u03b1\u1fe5\u03b5\u1fd6 in a comment, it seems that you&#8217;ve a few misconceptions regarding scope of variables, about parameters and about return values. Let&#8217;s see if we can&#8217;t dispel some of those. First of all, lets talk about scope. When we declare a variable inside a block delimited with { and }, the &#8230; <a title=\"[Solved] How to call user defined functions in C++?\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-how-to-call-user-defined-functions-in-c\/\" aria-label=\"More on [Solved] How to call user defined functions in C++?\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[320],"tags":[324],"class_list":["post-27499","post","type-post","status-publish","format-standard","hentry","category-solved","tag-c"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>[Solved] How to call user defined functions in C++? - JassWeb<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jassweb.com\/solved\/solved-how-to-call-user-defined-functions-in-c\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] How to call user defined functions in C++? - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] As mentioned by \u03c0\u03ac\u03bd\u03c4\u03b1\u1fe5\u03b5\u1fd6 in a comment, it seems that you&#8217;ve a few misconceptions regarding scope of variables, about parameters and about return values. Let&#8217;s see if we can&#8217;t dispel some of those. First of all, lets talk about scope. When we declare a variable inside a block delimited with { and }, the ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-how-to-call-user-defined-functions-in-c\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-12-24T13:45:04+00:00\" \/>\n<meta name=\"author\" content=\"Kirat\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirat\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-to-call-user-defined-functions-in-c\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-to-call-user-defined-functions-in-c\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] How to call user defined functions in C++?\",\"datePublished\":\"2022-12-24T13:45:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-to-call-user-defined-functions-in-c\/\"},\"wordCount\":458,\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"keywords\":[\"c++\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-to-call-user-defined-functions-in-c\/\",\"url\":\"https:\/\/jassweb.com\/solved\/solved-how-to-call-user-defined-functions-in-c\/\",\"name\":\"[Solved] How to call user defined functions in C++? - JassWeb\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#website\"},\"datePublished\":\"2022-12-24T13:45:04+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-to-call-user-defined-functions-in-c\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jassweb.com\/solved\/solved-how-to-call-user-defined-functions-in-c\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-to-call-user-defined-functions-in-c\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jassweb.com\/solved\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] How to call user defined functions in C++?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/jassweb.com\/solved\/#website\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"name\":\"JassWeb\",\"description\":\"Build High-quality Websites\",\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/jassweb.com\/solved\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\",\"name\":\"Jass Web\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"contentUrl\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"width\":693,\"height\":132,\"caption\":\"Jass Web\"},\"image\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\",\"name\":\"Kirat\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750\",\"contentUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\/\/jassweb.com\"],\"url\":\"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] How to call user defined functions in C++? - JassWeb","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jassweb.com\/solved\/solved-how-to-call-user-defined-functions-in-c\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] How to call user defined functions in C++? - JassWeb","og_description":"[ad_1] As mentioned by \u03c0\u03ac\u03bd\u03c4\u03b1\u1fe5\u03b5\u1fd6 in a comment, it seems that you&#8217;ve a few misconceptions regarding scope of variables, about parameters and about return values. Let&#8217;s see if we can&#8217;t dispel some of those. First of all, lets talk about scope. When we declare a variable inside a block delimited with { and }, the ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-how-to-call-user-defined-functions-in-c\/","og_site_name":"JassWeb","article_published_time":"2022-12-24T13:45:04+00:00","author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-how-to-call-user-defined-functions-in-c\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-how-to-call-user-defined-functions-in-c\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] How to call user defined functions in C++?","datePublished":"2022-12-24T13:45:04+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-how-to-call-user-defined-functions-in-c\/"},"wordCount":458,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["c++"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-how-to-call-user-defined-functions-in-c\/","url":"https:\/\/jassweb.com\/solved\/solved-how-to-call-user-defined-functions-in-c\/","name":"[Solved] How to call user defined functions in C++? - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2022-12-24T13:45:04+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-how-to-call-user-defined-functions-in-c\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-how-to-call-user-defined-functions-in-c\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-how-to-call-user-defined-functions-in-c\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] How to call user defined functions in C++?"}]},{"@type":"WebSite","@id":"https:\/\/jassweb.com\/solved\/#website","url":"https:\/\/jassweb.com\/solved\/","name":"JassWeb","description":"Build High-quality Websites","publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jassweb.com\/solved\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jassweb.com\/solved\/#organization","name":"Jass Web","url":"https:\/\/jassweb.com\/solved\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/","url":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","contentUrl":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","width":693,"height":132,"caption":"Jass Web"},"image":{"@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31","name":"Kirat","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750","caption":"Kirat"},"sameAs":["http:\/\/jassweb.com"],"url":"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/27499","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/comments?post=27499"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/27499\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=27499"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=27499"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=27499"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}