Are there some special rules with respect to the declaration of the main function?  According to  this is legal C++:  main()  // As opposed to int main() {    return 0; }   On the other hand, normal functions do not seem to have the privilege to avoid the return type:  f(){}   int main() {     return 0; }   Gives the error:     prog.cpp:1:3: error: ISO C++ forbids declaration of 'f' with no type   [-fpermissive]  f(){}    ^   Is the main function special in this case?
What is the correct (most efficient) way to define the main() function in C and C++ — int main() or void main() — and why? And how about the arguments? If int main() then return 1 or return 0?  There are numerous duplicates of this question, including:       — For C++, with a very good answer indeed.     Related:
Alternative to itoa() for converting integer to string C++? I was wondering if there was an alternative to itoa() for converting an integer to a string because when I run it in visual Studio I get warnings, and when I try to build my program under Linux, I get a compilation error. Solving quadratic equations in modular arithmetic Is there a general way to solve quadratic equations modulo n? I know how to use Legendre and Jacobi symbols to tell me if there's a solution, but I don't know how to get a solution without resorting to guesswork. Some examples of my problems:  $x^2 = 8$ mod 2009 $x^2 + 3x + 1 = 0$ mod 13  Thanks Product of Consecutive Integers is Not a Power What Is Exponentiation? Manually Installed new Python to /usr/bin, how to get Repo version back? Yes, I'm a moron, and I tried to manually install a higher point release of python 2.7.16 to /usr/bin/  (i did ./configure --prefix=/usr) on my Ubuntu 16.04 machine. It seems to work fine EXCEPT for packages that depended on python, like apt-listchanges, which fails with messages like ImportError: No module named apt_pkg  there's no make uninstall available, I've tried manually removing files, and still when I try apt --reinstall install python, Nothing gets overwritten and the python executable still gives the new 2.7.16 version...   Any idea how to get the official repository version back?? Prove that given $A\subseteq\mathbb{R}$, if has a maximum $a_0$, then $a_0$ must be the supremum.   In order to prove this, I have written the following:  Let $A\subseteq \mathbb{R}$, nonempty set because $a_{0}$ $\in A$ for hypotesis. Then, since $a_{0}$ $\in A$ is the largest element of the set $A$   (i.e. for each element $A$ of A we have that $ a\leq a_{0}$) $A$ is bounded above. Then, A has a supremum. Let $s$ be the least upper bound of $A,$ so we have that for each element $a$ of $A$, $a\leq s$, for being $s$ an upper bound. In particular, $a_0\leq s$, which implies that $s=a_0$.   Then, we have that $\sup(A)=\max(A)=a_0$, which is exactly what we wanted to prove.  Observation: this proof is true if $s \in A$   I'm not sure if my proof is correct. I will be thankful if someone tells me. What is special about square numbers here? Find eigen values of $B = \begin{bmatrix} 0 & A^* \\ A &0 \end{bmatrix}$ $$B = \begin{bmatrix} 0 &amp; A^* \\ A&amp;0 \end{bmatrix}$$  I think that $\det(B) = \det(A) * \det(A^*)$ and probably eigen values just get squared. What is the right answer?  EDIT: $\operatorname{rank}(B) = 2 * \operatorname{rank}(A)$, so there are twice more eigenvalue or their multiples. And the additional eigenvalues are just negatives of the eigenvalues of $A$ (Thanks to Simon).  Still can't figure out. Equivalent of *Nix 'which' command in PowerShell? How do I ask PowerShell where something is?    For instance, "which notepad" and it returns the directory where the notepad.exe is run from according to the current paths. How to jump to the region header from the endregion tag in c# visual studio 2012? Android Min SDK Version vs. Target SDK Version Why weren't everyone on Haruun Kal made a Jedi? Prove directly from the definition of the Ito's integral I am trying to solve the exercises from the book Stochastic differential equations -An Introduction with applications by Bernt Oksendal and I am stuck on 1 question.  Prove directly from the definition of Ito's integral that   $$\int_0^t B_s^2 dB_s=\frac{1}{3}B_t^3-\int_0^t B_s ds$$  I have tried for a couple of hours but I simply cannot prove it . I would be grateful if somebody could help me out , even a hint would be very helpful how to stop firing oncomplete if save action has errors My requirement is to stop oncomplete call if save action has errors. I know I am doing some silly mistake.   Here I am unable to stop calling oncomplete function.  Requirement is, from VFP save method, data will get saved and then perform callout from oncomplete function. If there are any errors during save then stop making callouts.  Visualforce  &lt;apex:page id="hasErrorTestPage" controller="ErrorMessageFinder"  showHeader="false"&gt;     &lt;apex:pageMessages id="msgId"/&gt;     &lt;script&gt;         function performCallOutMethod()         {             var msg = document.getElementById('{!$Component.MSEForm.errorMsgInd}').value;             alert(msg);              if(msg == 'false' || typeof(msg) == 'undefined')             {                 alert('entering callout')                 performCallOut();                 return true;             }             else             {                 return false;             }         }     &lt;/script&gt;     &lt;apex:form id="MSEForm"&gt;         &lt;apex:actionFunction name="performCallOut" action="{!submit}" reRender="panelId,msgId"/&gt;          &lt;apex:outputPanel id="panelId"&gt;             &lt;apex:outputText value="{!hasError}" id="errorMsgInd"/&gt;         &lt;/apex:outputPanel&gt;         &lt;apex:inputText id="customerNm" value="{!CustomerName}"/&gt;&lt;br/&gt;         &lt;apex:commandButton value="Save" action="{!save}"                       oncomplete="return performCallOutMethod();" reRender="panelId,msgId"/&gt;     &lt;/apex:form&gt; &lt;/apex:page&gt;   Controller  public class ErrorMessageFinder {     public String CustomerName {get;set;}      public Boolean hasError {          get {              return ApexPages.hasMessages();          }            }      public PageReference save()     {            if(String.isBlank(CustomerName))         {             ApexPages.Message msg = new ApexPages.Message(ApexPages.Severity.Error, 'Name cannot be null');             ApexPages.addMessage(msg);             return null;         }         return null;      }       public PageReference submit()     {         try         {   //navigate to view page             PageReference pg = new PageReference('/'+ '0019000001UwnVS');             pg.setRedirect(true);             return pg;         }         catch (Exception ex)         {             System.debug('Error in submit ' + ex);             ApexPages.Message msg = new ApexPages.Message(ApexPages.Severity.Error, ex.getMessage());             ApexPages.addMessage(msg);              return null;         }     } }   Based on this code, if I hit save button without entering CustomerName then it is not showing error after save. It is showing error during oncomplete call and then navigating to view page, which I do not want.  Any help is appreciated. I have put a compiled code so that anyone can try with this code. How to check if a String contains another String in a case insensitive manner in Java? Where does a layman go to get a basic understanding of AKS primality testing. I am not talking about the optimal choice of $r$ (which I am told is the hardcore number-theoretic part of the algorithm). I mean basic things, like what does $\bmod(n, x^r-1)$ mean (how can something be mod two things?) And what does binomial expansion have to do with anything?  I can't find anything in Wikipedia that is appropriate for my level. Consider these two ways of coining a name: 1) Bolzano's theorem, Rolle's theorem 2) the Poincare conjecture, the Kantorovich theorem. What is the difference between these ways, why do people choose one over the other?  My guess is that the main difference is when you put 's at the end of a name, you strictly imply that the theorem/conjecture was written by this very person (Bolzano wrote Bolzano's theorem). But when it is "the [Name] theorem/conjecture," it doesn't mean that the person which name is used actually created this thing, maybe he just inspired it (Poincare might have only inspired the Poincare conjecture but did not propose it).  Sometimes there is only one way: ; you can not call it hairy ball's theorem. How to replace a video on YouTube Why square the difference instead of taking the absolute value in standard deviation? In the definition of standard deviation, why do we have to square the difference from the mean to get the mean (E) and take the square root back at the end? Can't we just simply take the absolute value of the difference instead and get the expected value (mean) of those, and wouldn't that also show the variation of the data? The number is going to be different from square method (the absolute-value method will be smaller), but it should still show the spread of data. Anybody know why we take this square approach as a standard?  The definition of standard deviation:  $\sigma = \sqrt{E\left[\left(X - \mu\right)^2\right]}.$   Can't we just take the absolute value instead and still be a good measurement?  $\sigma = E\left[|X - \mu|\right]$ How would you categorize email subjects to find similar emails? I have a list of email subjects like:  &lt;XYZ&gt; commented on &lt;ABC&gt; Weekly review for &lt;Company&gt; Your account is ready    And I want to find patterns in them so I can group them.  Is there a well known algorithm I can use?    Preferably with wide language implementations or easy re-implementation. The algorithm should be unsupervised. The number of different emails is not known.   Update:  I think I can break this down into two problems:   Group subjects by the similar words they use, resulting in the following. Each group should be very distinct from the rest (they should be almost perfectly exclusive) and the algorithm should give relatively small number of groups with good length of the common words.  [commented, on] [weekly, review] [your, account, is, ready]  Once grouped, it should be easy to find a state automaton that accepts only the group's subject and thus eliminates variable Then I can go back and check if there are any intersections and tweak the variables.   Having said that, is it better to use a completley different approach like neural nets maybe? I have zero experience with those, but if it makes more sense, I am open to learning.