I am fairly new to C++ and I was experimenting with headers, this may be a simple problem but I couldn't figure it out.  I want to define a function that takes type T argument in header file then call it from main but the code does not compile.  I am using Visual Studio, Microsoft Visual C++ 2019.  //Header1.h #pragma once  namespace sout {     template &lt;typename T&gt;     void Print(T); }   //Header1.cpp #include &lt;iostream&gt; #include "Header1.h"  template &lt;typename T&gt; void sout::Print(T t) {     std::cout &lt;&lt; t &lt;&lt; std::endl; }   //Main.cpp #include &lt;iostream&gt; #include "Header1.h"  int main() {     sout::Print("dsa");      return 0; }   Main.obj : error LNK2019: unresolved external symbol "void __cdecl sout::Print&lt;char const *&gt;(char const *)" (??$Print@PBD@sout@@YAXPBD@Z) referenced in function _main   I solved like this below;  //Header1.h #pragma once #include &lt;iostream&gt;  namespace sout {     template &lt;typename T&gt;     void Print(T t) {         std::cout &lt;&lt; t &lt;&lt; std::endl;     } }   //Header1.cpp #include &lt;iostream&gt; #include "Header1.h"  template typename void sout::Print&lt;const char*&gt;(const char* t); template typename void sout::Print&lt;int&gt;(int t); template typename void sout::Print&lt;double&gt;(double t); template typename void sout::Print&lt;float&gt;(float t);   //Main.cpp #include &lt;iostream&gt; #include "Header1.h"  int main() {     sout::Print("dsa");     sout::Print(5);     sout::Print(5.5);     sout::Print(5.3f);      return 0; }
Quote from :     The only portable way of using templates at the moment is to implement them in header files by using inline functions.   Why is this?  (Clarification: header files are not the only portable solution. But they are the most convenient portable solution.)
PCIe Bus error severity=Corrected I have a new HP Pavilion Gaming Notebook and a new installation of Ubuntu 16.04. When I press Ctrl + Alt + F1 I go start seeing the errors shown in the following image and it doesn't allow me to interact with the console:    I also see these errors for a while everytime I boot. I need to do Ctrl + Alt + F1 to access a non graphical terminal to install some Nvidia drivers. What's going on?  What's causing the problem seems to be: 00:1c.5 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #6 [8086:a115] (rev f1)  jpiabrantes@joao:~$ lspci -nn 00:00.0 Host bridge [0600]: Intel Corporation Sky Lake Host Bridge/DRAM Registers [8086:1910] (rev 07) 00:01.0 PCI bridge [0604]: Intel Corporation Sky Lake PCIe Controller (x16) [8086:1901] (rev 07) 00:02.0 VGA compatible controller [0300]: Intel Corporation Skylake Integrated Graphics [8086:191b] (rev 06) 00:04.0 Signal processing controller [1180]: Intel Corporation Skylake Processor Thermal Subsystem [8086:1903] (rev 07) 00:14.0 USB controller [0c03]: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller [8086:a12f] (rev 31) 00:14.2 Signal processing controller [1180]: Intel Corporation Sunrise Point-H Thermal subsystem [8086:a131] (rev 31) 00:16.0 Communication controller [0780]: Intel Corporation Sunrise Point-H CSME HECI #1 [8086:a13a] (rev 31) 00:17.0 SATA controller [0106]: Intel Corporation Sunrise Point-H SATA Controller [AHCI mode] [8086:a103] (rev 31) 00:1c.0 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #5 [8086:a114] (rev f1) 00:1c.5 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #6 [8086:a115] (rev f1) 00:1c.6 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #7 [8086:a116] (rev f1) 00:1f.0 ISA bridge [0601]: Intel Corporation Sunrise Point-H LPC Controller [8086:a14e] (rev 31) 00:1f.2 Memory controller [0580]: Intel Corporation Sunrise Point-H PMC [8086:a121] (rev 31) 00:1f.3 Audio device [0403]: Intel Corporation Sunrise Point-H HD Audio [8086:a170] (rev 31) 00:1f.4 SMBus [0c05]: Intel Corporation Sunrise Point-H SMBus [8086:a123] (rev 31) 01:00.0 3D controller [0302]: NVIDIA Corporation GM107M [GeForce GTX 950M] [10de:139a] (rev a2) 07:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS522A PCI Express Card Reader [10ec:522a] (rev 01) 08:00.0 Network controller [0280]: Realtek Semiconductor Co., Ltd. RTL8723BE PCIe Wireless Network Adapter [10ec:b723] 09:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8101/2/6E PCI Express Fast/Gigabit Ethernet controller [10ec:8136] (rev 0a) What, precisely, is a confidence interval? Is C strongly typed? To quote :     Two commonly used languages that   support many kinds of implicit   conversion are C and C++, and it is   sometimes claimed that these are   weakly typed languages. However,   others argue that these languages   place enough restrictions on how   operands of different types can be   mixed, that the two should be regarded   as strongly typed languages.   Is there a more definitive answer? I'm taking Calculus II next semester so I don't have all the tools from it to back me up but something came up in a discussion this evening that asked me to prove that the following sequence converges. As I'm new to formal math I'm hoping someone can verify my proof, especially step $6$. I must prove that $$\lim_{n\to\infty}P_n=b$$ where $$P_{n+1} = P_n + \frac{b-P_n}{2}$$ $$P_0 = a$$ and $a,b \in \mathbb{R}$ such that $a&gt;b$ My proof goes as follows:   We must prove that $$\lim_{n\to\infty}P_n=b$$  That is, $\forall\epsilon&gt;0$ there exists a $\delta$ such that there exists an $n$ satisfying $$n&gt;\delta \iff b-P_n&lt;\epsilon$$  First, let us prove that $P_n$ is bounded by $b$ by contradiction. Let us choose an $i$ such that $P_i &lt; b$ and $P_{i+1}&gt;b$. Then we have $P_{i+1} = P_i + \Delta P$ where $\Delta P &gt; b-P_i$. but this is impossible because by the definition of the recurrence $\Delta P = \frac{b-P_i}{2} &lt; b-P_i$. Therefore, $P_i$ is bounded from above by $b$.  Additionally, it is trivial to show that $P_{i+1} &gt; P_i$.  With this in mind, choose an arbitrary $\epsilon$. We need to show that there exists an $n$ such that $P_n &gt; b-\epsilon$. Assume the contrary, that $P_n$ is bounded by $\epsilon$.  Using a similar argument to what which was used before, assume $P_n$ is bounded by $\epsilon$ and then there exists a $P_i$ such that $P_{i+1}\not &gt; P_i$. But this results in a contradiction with (4)  Therefore, $P_n$ is not bounded by $\epsilon$ and we have proved what we want to prove. counting proof for $\sum_{k=0}^{n-1} 2^{k} = 2^n - 1$ I was hoping someone could help me come up with a combinatorial proof, one with an easy to understand 'story' for $\sum_{k=0}^{n-1} 2^{k} = 2^n - 1$. For instance I understand that $2^n$ is the number of possibilities when creating subsets of size $n$. For example, if you're given a choice of any topping on a pizza, and you can only have said topping once (decide to include or exclude) then you have $2^n$ choices. But I'm not sure how the $-1 $ would be incorporated, or why the LHS would be $1+2+4+8+...+2^{n-1}$ How can I share a directory with an another user? Evaluating the integral $\int_0^\infty \frac{x \sin rx }{a^2+x^2} dx$ using only real analysis Calculate the integral$$ \int_0^\infty \frac{x \sin rx }{a^2+x^2} dx=\frac{1}{2}\int_{-\infty}^\infty \frac{x \sin rx }{a^2+x^2} dx,\quad a,r \in \mathbb{R}. $$  Edit: I was able to solve the integral using complex analysis, and now I want to try and solve it using only real analysis techniques. Unable to uninstall Wine apps I recently ran the iTunes 10 installer in Wine and everything seemed to go well. Then, when I tried to run it, it would constantly crash/and the appearance would be glitchy. After looking at the Wine website, it turns out that iTunes 10 has a 'garbage' rating of Wine compatability.  Now I'm trying to remove/uninstall iTunes, QuickTime, and the other applications that come default with installing iTunes (such as Bonjour, etc.). However, when I run the 'uninstaller' that wine provides for the programs, it instead executes what appears to actually be the original installer! I've tried deleting all the configuration/data files in my Wine's file-system, but to no avail.  Any help is greatly appreciated!  Edit1: After re-running the uninstall process and then rebooting, the program (iTunes 10) still remained installed. How to install hp scanjet 200 in Ubuntu 12.04? Unable to scan with hp scan-jet 200. When I type lsusb command in terminal it shows the scanner details.  I opened the simple scan which displays no scanners found, and x sane image scanners also displays the same error. How do you find the transfer function of a controller? Below is a block diagram of the system. I thought the circle symbol with the plus and minus sign was an op-amp but I'm not sure whether that's the case. I want to find the closed loop transfer function. If there was no feedback (open loop), then I think I could find the output as Y(s) = Vin*G. This would mean that the transfer function is Y(s)/Vin = G.  Any ideas for how to find the closed loop transfer function and what the circle means? Let $f:\Bbb{R}\to\Bbb{R}$ be a function given by  $$f(x)=\begin{cases} \exp\left(\frac{1}{x^2-1}\right) &amp; \text{if }\vert x\vert\lt 1\\  0 &amp; \text{if }\vert x\vert\geqslant 1  \end{cases}$$  I would like to prove that $f\in C^\infty$, that is, $f\in C^k$ for all $k\in \mathbb{N}$. I think that it can be done by induction on $k$. If $\vert x\vert\gt1$, the problem is trivial. On other points, the base case is the simplest and the only that I'm be able to do. Can someone help me?  Thanks. How to keep an SSD in shape on Yosemite? As of OS X 10.10, Apple uses kext signing. Ever since it has become  to manually activate TRIM for third-party SSDs on OS X. That means users with non-Apple SSDs will sooner or later see degrading write speeds.   So I am wondering what are my options to avoid this situation. Some approaches I could think of imply additional problems:   Are you aware of any alternative approach, that does not require disabling kext signing?  Are there tools or tricks to manually clean up a SSD (i.e. issue a TRIM command)? If I decided to temporarily use a tool like TRIM Enabler how long would it need to be activated, in order to clean the disk?   To summarize: No TRIM on Yosemite. What can I do? Windows 10 internet speed capped at half the original speed on new PC Probability of a player winning before another Given a 7 sided dice, 2 players roll it independantly simultaneously and when a player rolls a '6' he gets a prize.  What is the probability of the first player getting a prize before the second?  So my solution is to sum over all the turns j in which player 1 could win, and make the second player lose all these turns:  $$P(A) = \sum_{i=1}^{\infty}(6/7)^{j-1}*(1/7)*(6/7)^j = 0.461$$ My question is if my solution is correct, and if so, why is the probability so low? It seems to me that either player 1 wins before the 2nd or the other way around, and the probability of them playing forever is 0, so it should be 0.5? Anonymous users can't see new content type in feed How can I convert from hex to base64? Can anyone recommend a straightforward way/tool to convert hex to base64?  I'm using Linux and OS X. I am currently studying  answer on the Moore-Penrose pseudoinverse and the Euclidean norm by the user &quot;Etienne dM&quot;. The first point of their answer proceeds as follows:  Let $x$ be $A^+y$.  Let me begin by the second point. For all $z$, we have: \begin{align} \lVert Az-b \rVert_2^2 &amp;= \lVert Ax-b \rVert_2^2 + \lVert A(z-x) \rVert_2^2 + 2 (z-x)^TA^T(Ax-b)\\ &amp; \geq  \lVert Ax-b \rVert_2^2 + 2 (z-x)^TA^T(Ax-b) \end{align} Moreover, because $(AA^+)^T = AA^+$, $$ A^T(Ax-b) = ((AA^+)A)^Tb - A^Tb = 0$$ Thus, we prove that for all $z$, $\rVert Az-b \lVert_2^2 \geq\rVert Ax-b \lVert_2^2$, that is to say $A^+b$ is as close as possible to $y$ in term of the Euclidian norm $\lVert Ax-b\rVert_2$.   I realise that $x = A^+ y$, but I don't understand how any of this implies that &quot;$A^+ b$ is as close as possible to $y$ in terms of the Euclidean norm $\lVert Ax-b\rVert_2$&quot;. I would greatly appreciate it if people would please take the time to explain this to me. How do I get the current location of an iframe? What happens 'internally' on a unstable/overclocked/undervolted CPU? When you undervolt or overlock an CPU, when it passes a certain limit it starts to make the system unstable, reboot, etc. But these are the effects of it.  What I'm curious about is what happens on the CPU. What happens? It gives wrong answers to instructions? Bits on cache flip? Which is correct if I want to request for a pen?        Can I have your pen please?   May I have your pen please?